Skip to main content
Glama

FeathersMCP

npm

An MCP server that connects your AI assistant to the FeathersJS v6 documentation. Get accurate, source-linked answers about hooks, services, authentication, and more, directly in your IDE.


Why use FeathersMCP?

AI assistants answering from memory often mix up Feathers versions, invent APIs, or miss edge cases. FeathersMCP gives your assistant live access to the real v6 docs so answers come with a source_url you can verify.

Without FeathersMCP

With FeathersMCP

Training-data guesses, risk of outdated APIs

Searches and returns actual v6 documentation pages

No citations

Every answer includes a link to v6.feathersjs.com

No community patterns

Optional community knowledge base (real-world tutorials)


Related MCP server: Whoosh RAG MCP

Prerequisites

Requirement

Link

Node.js (v18 LTS or later)

https://nodejs.org

npm (bundled with Node)

https://www.npmjs.com

An MCP-compatible AI client (see Installation)

(n/a)

Supported clients: VS Code (with GitHub Copilot), Cursor, Claude Desktop, Zed, and any other MCP host.

Each client uses its own MCP config location. Follow the section for your client below (Step 1 shows the exact file or setting to edit).


Installation

The server command is the same everywhere; only the config file location and JSON shape depend on your MCP host. Open the section for the client you use.

VS Code (GitHub Copilot)

Step 1. Create .vscode/mcp.json inside your project folder:

{
  "servers": {
    "feathersjs": {
      "type": "stdio",
      "command": "npx",
      "args": ["feathersjs-mcp@latest"]
    }
  }
}

Step 2. Reload the window — open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and run Developer: Reload Window.

Step 3. Open the Command Palette again, run MCP: List Servers, and confirm feathersjs appears in the list.

  • If it shows as Stopped, click it and select Start Server.

  • If VS Code prompts you to trust the server, click Allow. Without this the server will not run.

  • If it is listed but disabled, enable it from the same panel.

Step 4. Open GitHub Copilot Chat, switch to Agent mode, and ask:

What FeathersJS topics are covered in the official docs?

If the server is connected, the assistant should call a tool like get-menu or search-doc. If no tool call appears, check that the server is running in MCP: List Servers and that you are in Agent mode, not Ask or Edit mode.


Cursor

Step 1. Create the config file. Two options:

  • Project only: .cursor/mcp.json inside your project folder (can be committed to git and shared with teammates)

  • All projects: ~/.cursor/mcp.json in your home directory (local to your machine only)

If both files exist, the project-level file takes priority.

{
  "mcpServers": {
    "feathersjs": {
      "command": "npx",
      "args": ["feathersjs-mcp@latest"]
    }
  }
}

Step 2. Reload the window — open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and run Developer: Reload Window.

Step 3. Open Cursor Settings → Tools & MCP and confirm feathersjs appears with a green status indicator. If the toggle next to it is off, turn it on. Adding the config file alone is not enough — the server must be enabled in this panel.

Step 4. Open Cursor Chat in Agent mode and ask:

How do Feathers hooks work in v6?

If the server is active, the assistant should call search-doc and return a result with a source URL. If no tool is called, check that the server is toggled on in Settings → Tools & MCP and that you are in Agent mode, not Ask or Edit mode.


Claude Desktop

Step 1. Open the config file for your OS:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Step 2. Add the server entry (create the file if it does not exist):

{
  "mcpServers": {
    "feathersjs": {
      "command": "npx",
      "args": ["-y", "feathersjs-mcp@latest"]
    }
  }
}

Step 3. Fully restart Claude Desktop — quit and reopen, do not just reload. The first run downloads the package automatically.

Step 4. Ask a test question:

What authentication strategies does Feathers v6 support?

If no tool is called, check Claude's MCP logs (Help → Open Logs Folder) for connection errors. See Claude Desktop MCP docs for more detail.


Zed

Step 1. Add the server to your Zed settings. Open Zed Settings (Cmd+,) and add a context_servers block:

{
  "context_servers": {
    "feathersjs": {
      "command": {
        "path": "npx",
        "args": ["-y", "feathersjs-mcp@latest"]
      }
    }
  }
}

Alternatively, open the Agent Panel (Cmd+?), click the settings icon, and use Add Custom Server to register the same command.

Step 2. Check the status indicator next to the server name in the Agent Panel. A green dot means it is active. If it is grey or shows an error, verify npx is on your PATH by opening Zed from a terminal: zed .

Step 3. Note that Zed may ask you to approve tool calls before they run — this is expected. Confirm when prompted.

Step 4. Ask a test question in the Agent Panel:

What topics are covered in the official FeathersJS v6 docs?

If the server is connected, it should call get-menu or search-doc. Mentioning feathersjs by name in your prompt can help Zed route to the right server.


Other MCP hosts

Register the same command — npx with args ["-y", "feathersjs-mcp@latest"] — using your client's MCP config format. The MCP clients list links setup docs for each supported host.


Optional: pin the version locally

npm install feathersjs-mcp

Locks the package in package.json so all contributors use the same release. Swap "npx" for "node" and point args at node_modules/feathersjs-mcp/build/index.js.


Agent skill (optional)

The skill file adds a workflow guide so your assistant searches docs and community before answering from memory.

# Install
npx feathersjs-mcp@latest install-skill

# Uninstall
rm -rf .agents/skills/feathersjs-mcp

Works with Cursor, Claude Code, Windsurf, Gemini CLI, and any tool that follows the agentskills.io standard. Re-run the install command to update it.


Prompts to try

These natural-language questions demonstrate what FeathersMCP is good at. Paste any of them into your AI chat after installation.

What you ask

Tool triggered

What topics are covered in the official FeathersJS v6 docs?

get-menu (full doc index)

How does authentication work in Feathers v6?

search-doc (official pages + source URL)

Show me the full page on Feathers hooks, including code examples.

get-doc (full hooks page + examples)

Are there any real-world patterns for using Feathers with React?

search-community (tutorials and patterns)

You don't need to mention tool names. The server picks the right one based on your question.


Troubleshooting

Server not connecting / tools never appear Check the client-specific step for your MCP host above — most clients require you to manually enable or start the server after adding the config file. Also verify the config file is in the correct location for your client (see the table in Prerequisites).

macOS: spawn npx ENOENT Open your project from a terminal (cursor . / code . / zed .) so the IDE inherits your shell PATH. Or install locally and use the full path to node (from which node):

{
  "mcpServers": {
    "feathersjs": {
      "command": "/opt/homebrew/bin/node",
      "args": ["node_modules/feathersjs-mcp/build/index.js"]
    }
  }
}

Tools appear but no tool is called in chat Make sure you are in Agent mode — tools are not available in Ask or Edit mode. In Cursor, also verify the server toggle is on in Settings → Tools & MCP.


Available tools

Tool

Description

get-menu

Full doc index (categories, paths, IDs)

search-doc

Full-text search across 47 official v6 pages

get-doc

Full page content and code examples (by id, path, or title)

get-schema

Schema of the local docs database

search-community

Search community tutorials and patterns

get-community-post

Full community post by id

share-knowledge

Generate a pre-filled GitHub issue to submit a community post


Repository documentation (optional — for people working in the repo)

If you only use FeathersMCP from npm (for example npx feathersjs-mcp in your MCP config), you do not need anything under docs/—the sections above are enough.

The docs/ folder supports transfer of ownership, onboarding new maintainers, and ongoing operations. Layout: docs/project/ (ownership transfer, setup, architecture) and docs/operations/ (CI/CD, releases, D1 — DevOps-style docs for maintainers).

Document

Who it is for

docs/project/HANDOVER.md

Incoming maintainers — scope, limitations, operational ownership

docs/project/SETUP.md

Developers — clone, build, and verify from a clean machine

docs/project/PROJECT_GUIDE.md

Developers — architecture and data flow

docs/operations/CI_CD.md

Maintainers — GitHub Actions

docs/operations/PUBLISHING_SKILL.md

Maintainers — npm and skill release

docs/operations/CLOUD_DATABASE.md

Maintainers — D1 reset and schema

Available Tools

7 tools
get-community-postA

Fetch the full content of a community contribution by id (from search-community results).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe community post ID from search-community results.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It doesn't indicate whether the fetch is read-only (though 'Fetch' implies read), whether it returns error handling for missing IDs, rate limits, or format of the returned content. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, efficient sentence that front-loads the action and resource. No unnecessary words, though could be slightly more explicit about the return value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter fetch tool, the description covers the essential purpose. However, with no annotations and no output schema, additional context such as response shape, error behavior, or authentication requirement would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter's schema description already states it's the ID from search-community results. The description merely repeats 'by id' without adding format or other constraints. Baseline 3 per guidelines.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Fetch), resource (full content of a community contribution), and key modifier (by id). Distinguished from sibling search-community which is referenced as the source of the ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage: after searching via search-community, use this tool to retrieve the full post. However, it doesn't explicitly state when NOT to use this tool or contrast with get-doc/get-menu/get-schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-docA

Fetch a full official FeathersJS doc page: returns complete page text plus all code examples. Look up by id, path, or title. Use after get-menu (paths/ids), after search-doc, or when the user gave an exact id/path/title. Prefer id or path over title.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoThe numeric document ID (from get-menu or search results). RECOMMENDED: Use this as the primary way to fetch documents after search-doc, as it uniquely identifies a document.
pathNoThe source_file path of the document (e.g. "api/hooks", "guides/basics/setup"). RECOMMENDED: Use this as an alternative to id; uniquely identifies a document.
titleNoThe exact title of the document to retrieve (e.g. "Hooks" or "Authentication"). WARNING: Multiple documents may share the same title. Avoid this when possible; prefer id or path instead.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and no output schema, the description carries the full burden, and it does disclose the return shape (full page text plus all code examples). However, it says nothing about failure modes (unknown id/path), rate limits, or auth requirements, so key behavioral context is missing for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, each doing distinct work: what it returns, how to look it up, and when to call it. Front-loaded with the purpose and no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because there is no output schema, the description must describe returns – and it does (complete page text plus code examples). Sibling and sequencing relationships are covered. The only real gap is error/edge behavior when a lookup key does not resolve.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents id, path, and title, including the warning that titles are non-unique. The description's lookup guidance (id/path/title, prefer id or path) largely restates that, adding little beyond the schema – baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Fetch a full official FeathersJS doc page") plus the scope of what it returns ("complete page text plus all code examples"). The role is clearly differentiated from siblings like search-doc and get-menu, which are named as upstream steps rather than substitutes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly enumerates the triggering conditions: after get-menu (paths/ids), after search-doc, or when the user supplied an exact id/path/title. It also gives a selection rule among the tool's own inputs ("Prefer id or path over title"), leaving little to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-menuA

Get the menu/navigation structure of the FeathersJS documentation. This provides a hierarchical view of the documentation topics and their relationships. Called at the start of each session to understand the organization of the content.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden; it discloses that the result is a hierarchical view of topics and relationships, implying a safe read. It says nothing about caching, freshness, size of the payload, or authentication needs, leaving meaningful gaps for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core purpose before the return-shape and usage notes. Slightly verbose in restating the 'documentation topics/organization' idea twice, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description appropriately characterizes the return value as a hierarchical navigation structure. Combined with the stated session-start usage, this is sufficient for a zero-parameter read tool, though not exhaustively detailed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline of 4 applies; there are no arguments whose semantics the description would need to explain. Schema coverage is reported at 100%, reinforcing that no parameter detail is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get the menu/navigation structure of the FeathersJS documentation') and clarifies the output is a hierarchical topic view. It is distinguishable from siblings like get-doc or search-doc by resource, though it does not explicitly contrast itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Called at the start of each session to understand the organization of the content' gives explicit timing and intent for invoking the tool. There is no statement of when not to use it or which sibling to prefer for other needs, but the positive guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-schemaA

Get the database schema for FeathersJS documentation tables

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It implies a read-only operation (retrieving schema) but doesn't state permissions, rate limits, or output format. For a zero-parameter tool, the behavioral traits are minimal, so this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that is efficient and waste-free. It directly states the tool's purpose without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is sufficient to understand what it does. However, it could benefit from mentioning that it returns schema information for documentation tables, though that is implied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing to document. Schema coverage is 100% by default. The description adds no parameter details, but none are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (get) and resource (database schema for FeathersJS documentation tables), which is clear. However, it doesn't distinguish itself from siblings like get-doc or get-menu, which also retrieve data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as search-doc or get-doc. The description implies it returns schema metadata, but no context or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-communityA

Search real-world FeathersJS solutions from the community.

PRIMARY use cases:

  • Implementation, integrations, and architecture patterns

  • Debugging issues or unexpected behavior

  • Workarounds, fixes, and best practices not in docs

You MUST use this when:

  • The user asks how to implement or integrate something

  • The user reports something not working or asks why

  • The solution is not clearly in a single doc page

After calling:

  • Use get-community-post if a result is relevant

  • Include at least one community insight in your answer

Returns: results with id for get-community-post.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query for community posts (e.g. 'authentication', 'react-native').

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It states the return shape ('results with id for get-community-post') and an actionable post-call constraint ('Include at least one community insight in your answer'), but says nothing about result limits, pagination, or auth/scope requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then organized under scannable headers (PRIMARY use cases / MUST use when / After calling / Returns). Every bullet carries routing or workflow information; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter search tool with no output schema, the description covers purpose, triggers, and what the results contain, and even specifies the next tool to call. Nothing an agent needs to invoke or sequence it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single 'query' parameter, so the schema already documents its type and purpose. The description adds example queries ('authentication', 'react-native'), but those duplicate the schema example, so this is the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Search real-world FeathersJS solutions from the community.' It also implicitly scopes itself against siblings like search-doc and get-doc by targeting solutions 'not in docs,' so the agent can distinguish it without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'PRIMARY use cases' and a directive 'You MUST use this when' list three concrete triggering conditions, including negative-style guidance ('solution is not clearly in a single doc page') that routes the agent away from doc search. It also names get-community-post as the follow-up alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-docB

Search the FeathersJS documentation for relevant content. You can make multiple calls to this tool to refine your search. Call get-schema and get-menu first to craft better queries.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (default: 5)
queryYesThe search query to find in the documentation
categoryNoOptional category filter: api, guides, cookbook, or ecosystem
query_typeNoType of search query: 'keyword' for simple keyword search, 'sql' for raw SQL queries

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses that iterative multi-call refinement is expected, but says nothing about result format, ranking, pagination, or what limit does behaviorally beyond the schema default. Some behavioral context is added, but a no-annotation tool should say more.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the core purpose front-loaded and the operational tips following. Nothing is padded, though the prerequisite guidance could be tightened to make the tool's own scope clearer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description must cover behavior on its own. It covers prerequisites and iteration adequately but omits return shape and result-size behavior, leaving a real gap for an agent deciding how to consume or paginate results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (including the keyword/sql enum and category values) are already documented in the schema. The description adds no syntax, format, or example guidance beyond that, so the baseline 3 for schema-driven parameters is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Search) and a specific resource (the FeathersJS documentation), so an agent immediately knows this is a retrieval tool over docs. It does not explicitly distinguish itself from close siblings like search-community or get-doc, relying on the resource noun alone to do that work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a useful prerequisite chain (call get-schema and get-menu first) and notes that repeated calls are expected to refine results. However, it never states when to prefer this over the sibling get-doc (exact retrieval) or search-community, and gives no exclusions, so the routing guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

share-knowledgeA

Generate a pre-filled GitHub issue link so the user can submit a community contribution (project, tutorial, or pattern) to the repo. If the user has built or completed something useful with FeathersJS (feature, pattern, tutorial, fix, architecture), proactively ask if they want to share; if they agree, collect title, author, content, tags and call this tool. CRITICAL: your next user-facing reply MUST include the full magic link URL as a clickable Markdown link so the user can open it from chat—do not omit the URL or rely on them reading tool output only.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYesList of tags (e.g. ['tutorial', 'mcp']).
titleYesThe title of your project or tutorial.
authorYesYour GitHub username.
contentYesThe full Markdown content of the contribution.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden and does disclose the key trait: the tool only generates a link, it does not submit anything itself, and the URL must be surfaced in the next user-facing reply. It says nothing about auth, failures, or repeated-call behavior, which keeps it short of a 5 given zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action, then the trigger, then the critical output requirement. The emphasis is well placed, though the middle trigger sentence is somewhat long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must explain the return value -- and it does ('full magic link URL as a clickable Markdown link'). Combined with the contribution-collection workflow and the no-annotations behavior disclosure, an agent has enough to invoke it correctly, though nothing is said about error or edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds workflow meaning by naming the exact set of inputs to gather (title, author, content, tags) in the context of the contribution flow rather than just restating field names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb and artifact: 'Generate a pre-filled GitHub issue link so the user can submit a community contribution (project, tutorial, or pattern) to the repo.' It also enumerates the accepted contribution kinds, so an agent can distinguish this contribution-generating tool from the read-only siblings like get-doc and search-community.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit trigger conditions ('If the user has built or completed something useful with FeathersJS... proactively ask if they want to share; if they agree, collect title, author, content, tags and call this tool'). When-to-use and the prerequisite gathering step are both spelled out, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv1.0.16
    • First observedget-community-post
    • First observedget-doc
    • First observedget-menu
    • First observedget-schema
    • First observedsearch-community
    • First observedsearch-doc
    • First observedshare-knowledge

TDQS

A4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a distinct role: get-menu and get-schema provide structural context, search-doc and search-community handle discovery, get-doc and get-community-post retrieve full resources, and share-knowledge handles contribution submission. The doc vs. community split is consistent and clearly reflected in descriptions, so an agent can easily choose the right tool.

Naming Consistency5/5

All tool names follow the same lowercase hyphenated verb-noun convention: get-doc, get-community-post, get-menu, get-schema, search-doc, search-community, share-knowledge. There are no mixed casing styles or inconsistent verb patterns.

Tool Count5/5

Seven tools is well scoped for a documentation and community knowledge server. The set covers navigation, schema inspection, documentation search/retrieval, community search/retrieval, and contribution sharing without obvious redundancy.

Completeness4/5

The server covers the main lifecycle: orient with menu/schema, search docs and community, retrieve full items, and share knowledge. Minor gaps exist, such as no explicit listing or filtering of community posts by tag/author, but search largely compensates for those omissions.

Maintenance

ActivityNo data
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.
    11 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that gives AI coding assistants access to up-to-date API documentation via RAG by crawling documentation sites, indexing them into a vector store, and enabling semantic queries.
    MIT