d3-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| find_moduleA | Find D3.js modules by keyword search. Without a query, lists all modules. With a query, returns top 5. |
| get_docsA | Get D3.js API documentation. Provide module_name (e.g. "d3-scale" or "scale") for the overview. Add page (e.g. "linear") to get a specific sub-page. |
| search_docsB | Search D3.js documentation for specific topics or methods. Searches page content for matching sections. Optionally restrict to a single module with module_name. |
| find_exampleA | Find D3.js examples from the Observable gallery. Without arguments, lists all categories with counts. With query, returns top 10 matching examples. With category, lists examples in that category. |
| get_exampleA | Get D3.js example source code from an Observable notebook. Provide the example path (e.g. "@d3/bar-chart/2"). Use find_example() to discover available examples. Code is extracted from Observable notebooks and may contain Observable-specific patterns. For vanilla D3, adapt these:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: get_docs retrieves module/page documentation, search_docs searches documentation content, find_module discovers modules, find_example lists examples, and get_example fetches example source. No two tools overlap enough to cause misselection.
All tool names follow a consistent snake_case verb_noun pattern (get_docs, search_docs, find_example, get_example, find_module), with verbs that clearly indicate the action.
Five tools are well-scoped for a D3.js documentation and example retrieval server. Each tool covers a distinct discovery or retrieval need, with no redundant or missing core operations.
The surface covers documentation retrieval/search, module discovery, example discovery, and example source retrieval, which is strong for the stated purpose. A minor gap exists in retrieving module-level metadata such as full method indexes or version info, but agents can work around this via get_docs and search_docs.