Specif-ai MCP Server
@vj-presidio/specif-ai-mcp-服务器
一个 CLI 工具,通过 stdio 为Specif-ai运行 MCP(模型上下文协议)服务器。
安装和使用概述
graph TD
A[Installation Options]
A --> B[Direct Binary Installation]
A --> C[Package Manager Installation]
B --> D[Unix Script]
B --> E[Windows PowerShell]
C --> F[NPM Global]
C --> G[Bun Global]
B --> H1[When to Use Binary Installation]
H1 --> I1[System-wide installation]
H1 --> I2[No Node.js required]
H1 --> I3[Minimal dependencies]
C --> H2[When to Use Package Manager]
H2 --> J1[Already using Node.js/Bun]
H2 --> J2[Need automatic updates]
H2 --> J3[Project-specific versions]
K[Usage Methods]
K --> L[Direct CLI]
K --> M[NPX]
K --> N[BunX]
L --> O1[Installed globally]
L --> O2[Fastest startup]
M --> P1[No installation needed]
M --> P2[Version flexibility]
N --> Q1[Bun runtime users]
N --> Q2[Better performance]Related MCP server: Task API Server
安装
直接二进制安装(推荐)
您可以使用我们的安装脚本直接安装二进制文件:
# Unix (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/install.sh | sh
# Install specific version
curl -fsSL https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/install.sh | sh -s -- -v 1.2.3# Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/install.ps1 | iex
# Install specific version
iwr -useb https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/install.ps1 | iex -v 1.2.3或者从发布页面手动下载适合您平台的二进制文件。
包管理器安装
您可以使用npm进行全局安装:
# Latest version
npm install -g @vj-presidio/specif-ai-mcp-server@latest
# Specific version
npm install -g @vj-presidio/specif-ai-mcp-server@1.2.3或者使用bun :
# Latest version
bun install -g @vj-presidio/specif-ai-mcp-server@latest
# Specific version
bun install -g @vj-presidio/specif-ai-mcp-server@1.2.3更新
要检查更新:
# Unix (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/update.sh | sh -s -- -c
# Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/update.ps1 | iex -c要更新到最新版本:
# Unix (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/update.sh | sh
# Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/update.ps1 | iex要更新到特定版本:
# Unix (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/update.sh | sh -s -- -v 1.2.3
# Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/vj-presidio/specif-ai-mcp-server/main/update.ps1 | iex -v 1.2.3MCP 客户端配置示例
使用最新版本的npx :
{
"specif-ai": {
"command": "npx",
"args": ["--yes", "@vj-presidio/specif-ai-mcp-server@latest"],
"disabled": false,
"autoApprove": []
}
}使用特定版本的npx :
{
"specif-ai": {
"command": "npx",
"args": ["--yes", "@vj-presidio/specif-ai-mcp-server@1.2.3"],
"disabled": false,
"autoApprove": []
}
}使用最新版本的bunx :
{
"specif-ai": {
"command": "bunx",
"args": ["@vj-presidio/specif-ai-mcp-server@latest"],
"disabled": false,
"autoApprove": []
}
}使用特定版本的bunx :
{
"specif-ai": {
"command": "bunx",
"args": ["@vj-presidio/specif-ai-mcp-server@1.2.3"],
"disabled": false,
"autoApprove": []
}
}使用直接二进制或包管理器全局安装:
{
"specif-ai": {
"command": "specif-ai-mcp-server",
"args": [],
"disabled": false,
"autoApprove": []
}
}选项
--help,-h:显示帮助信息--version:显示版本信息
Specifai MCP 与流行 IDE 和扩展的集成
请参阅每个设置说明
设置项目路径
服务器运行后,您可以使用set-project-path工具设置项目路径。此工具接受包含规范文件的目录路径。设置路径后,服务器将从该目录加载所有文档。
工具使用示例:
{
"name": "set-project-path",
"arguments": {
"path": "./path/to/project"
}
}可用工具
服务器提供了几种与您的规范文档交互的工具:
工具名称 | 描述 |
| 设置或更改项目目录路径 |
| 获取业务需求文档 |
| 获取产品需求文档 |
| 获取非功能性需求 |
| 获取用户界面要求 |
| 获取业务流程文档 |
| 获取特定 PRD 的用户故事 |
| 获取特定用户故事的任务 |
| 获取特定任务的详细信息 |
要求
对于二进制安装:
curl(Unix)或 PowerShell(Windows)
sudo 访问(Unix,用于系统范围的安装)
对于包管理器安装:
Node.js >= 16.0.0
Bun >= 1.0.0(如果使用 Bun 运行时)
执照
麻省理工学院
Available Tools
9 toolsget-bpsC
Get Business Process Documents for this project
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path where the tool is called from to auto-infer the project path. This path will be current working directory (cwd) from where the tool is called. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'Get' which implies a read operation, but doesn't disclose behavioral traits such as what format the documents are returned in, whether there are rate limits, authentication needs, or error conditions. The description is too minimal for a tool with no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero waste. It's appropriately sized and front-loaded, making it easy to understand the core purpose quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a single parameter with full schema coverage, the description is incomplete. It doesn't explain what 'Business Process Documents' are, how they're returned, or any behavioral context, leaving significant gaps for an AI agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the single parameter cwd. The description adds no parameter-specific information beyond implying the tool infers the project path from cwd, which is already covered in the schema. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'Business Process Documents for this project', making the purpose understandable. However, it doesn't differentiate from sibling tools like get-brds, get-nfrs, etc., which presumably retrieve different document types, so it misses full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get-brds or get-nfrs. It mentions 'for this project' but doesn't explain how that relates to the cwd parameter or when other tools might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-brdsC
Get Business Requirement Documents for this project
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path where the tool is called from to auto-infer the project path. This path will be current working directory (cwd) from where the tool is called. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Get' but doesn't clarify if this is a read-only operation, how it accesses documents (e.g., from a file system or database), potential side effects, or error handling. The description lacks details on permissions, rate limits, or what 'Get' entails beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple tool, though it could be slightly more informative to improve clarity without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations, no output schema, and a simple input schema, the description is incomplete. It doesn't explain what 'Get' returns (e.g., a list of documents, their contents, or metadata), how results are formatted, or any behavioral nuances. For a tool with no structured context, this leaves significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'cwd' well-documented in the schema as an absolute path for auto-inferring the project path. The description adds no additional meaning beyond the schema, such as explaining why this parameter is needed or how it affects the tool's behavior, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get Business Requirement Documents for this project' states a clear verb ('Get') and resource ('Business Requirement Documents'), but it's vague about scope and mechanism. It doesn't specify whether this retrieves all BRDs, specific ones, or how they're returned, nor does it distinguish from siblings like 'get-uirs' or 'get-user-stories' which likely retrieve similar document types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It mentions 'for this project' but doesn't explain prerequisites like needing a project context or how it relates to siblings such as 'get-bps' or 'set-project-path'. There's no explicit when/when-not or alternative usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-nfrsC
Get Non-Functional Requirement Documents for this project
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path where the tool is called from to auto-infer the project path. This path will be current working directory (cwd) from where the tool is called. |
TDQS
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 states the tool 'gets' documents, implying a read-only operation, but doesn't specify whether it retrieves all NFRs, a subset, or if there are limitations like pagination or file format constraints. It also doesn't describe the return format (e.g., list of files, document contents) or error conditions, leaving significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Get Non-Functional Requirement Documents for this project.' It's front-loaded with the core purpose, has zero redundant words, and earns its place by clearly stating the tool's function. No structural issues or verbosity detract from its clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a tool that presumably returns document data. It doesn't explain what 'gets' entails (e.g., file paths, content, metadata), how NFRs are identified, or potential outputs. For a document retrieval tool with no structured output information, more detail is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. The schema has 100% coverage, fully documenting the single 'cwd' parameter with its purpose and type. Since the description doesn't elaborate on parameters, it meets the baseline score of 3 for high schema coverage, but doesn't compensate with additional context like examples or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get Non-Functional Requirement Documents for this project.' It specifies the verb ('Get') and resource ('Non-Functional Requirement Documents'), and distinguishes it from siblings like get-bps, get-brds, and get-prds that handle different document types. However, it doesn't explicitly mention that it's for the current project or how it determines the project context beyond the cwd parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a project path set), exclusions (e.g., not for functional requirements), or compare it to siblings like get-bps or get-uirs. The agent must infer usage from the tool name alone, which is insufficient for clear decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-prdsC
Get Product Requirement Documents for this project
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path where the tool is called from to auto-infer the project path. This path will be current working directory (cwd) from where the tool is called. |
TDQS
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 states the tool 'gets' documents but doesn't clarify whether this is a read-only operation, what format the output takes (e.g., list of files, document content), potential errors, or any side effects. This leaves critical behavioral traits unspecified for a tool with no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, straightforward sentence that efficiently states the tool's purpose. It is appropriately sized for a simple tool, with no redundant or verbose language. However, it could be more front-loaded with critical details like output format or usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'get' returns (e.g., file paths, document content, metadata), error conditions, or how it interacts with the inferred project path. For a tool with no structured output documentation, the description should provide more context about the expected behavior and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'cwd' fully documented in the schema as an absolute path for auto-inferring the project path. The description adds no parameter information beyond what the schema provides, so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool retrieves Product Requirement Documents for a project, which is a clear purpose. However, it doesn't specify what 'get' entails (list, fetch content, metadata) or distinguish this from sibling tools like get-brds or get-uirs that likely retrieve similar document types. The description is somewhat vague about the exact nature of the retrieval operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing a project path), exclusions, or comparisons to siblings like get-bps or get-nfrs. The agent must infer usage from the tool name alone, which is insufficient for informed selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-taskC
Get a Task for a particular User Story in a particular PRD
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path where the tool is called from to auto-infer the project path. This path will be current working directory (cwd) from where the tool is called. | |
| prdId | Yes | The ID of the PRD to get user stories for | |
| taskId | Yes | The ID of the Task to get | |
| userStoryId | Yes | The ID of the User Story to get tasks for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It implies a read-only operation ('Get'), but doesn't disclose permissions, error handling, rate limits, or what happens if IDs are invalid. For a tool with four required parameters and no annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It front-loads the core purpose ('Get a Task') and succinctly adds necessary context, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 required parameters, no output schema, no annotations), the description is incomplete. It lacks guidance on usage, behavioral details, and output expectations, leaving significant gaps for an AI agent to infer correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional meaning beyond implying hierarchical relationships (Task → User Story → PRD), but doesn't clarify parameter interactions or formats. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get a Task') and specifies the resource context ('for a particular User Story in a particular PRD'), which distinguishes it from generic task retrieval. However, it doesn't explicitly differentiate from sibling tools like 'get-tasks' (plural) that might retrieve multiple tasks, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get-tasks' or explain prerequisites (e.g., needing specific IDs), nor does it specify exclusions or contextual constraints beyond the implied scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-tasksC
Get Tasks for a particular User Story
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path where the tool is called from to auto-infer the project path. This path will be current working directory (cwd) from where the tool is called. | |
| prdId | Yes | The ID of the PRD to get user stories for | |
| userStoryId | Yes | The ID of the User Story to get tasks for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states 'Get Tasks' which implies a read operation, but doesn't mention permissions, rate limits, pagination, or what happens if parameters are invalid. For a tool with 3 required parameters and no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 required parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'Tasks' are in this context, what format they're returned in, or any behavioral constraints. For a retrieval tool with this complexity, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three parameters. The description adds no additional meaning about parameters beyond implying they're needed to identify the user story. This meets the baseline for high schema coverage but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'Tasks for a particular User Story', making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get-task' (singular) or explain how this differs from other retrieval tools in the server, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-task' or other sibling tools. It mentions 'for a particular User Story' but doesn't specify prerequisites, exclusions, or contextual usage scenarios, leaving the agent with minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-uirsC
Get User Interface Requirement Documents for this project
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path where the tool is called from to auto-infer the project path. This path will be current working directory (cwd) from where the tool is called. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states a read operation ('Get') but doesn't cover aspects like permissions, rate limits, or what happens if no documents exist. This is a significant gap for a tool with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., document list, content, or metadata) or address potential errors. For a tool with such minimal structured data, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the single parameter 'cwd'. The description adds no parameter-specific information beyond implying project context, which the schema already covers. Baseline 3 is appropriate as the schema handles the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('User Interface Requirement Documents') with context ('for this project'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-brds' or 'get-nfrs' which likely retrieve different document types, so it misses full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or specify scenarios where UI requirement documents are needed over other document types, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-user-storiesC
Get User Stories for a particular PRD
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Absolute path where the tool is called from to auto-infer the project path. This path will be current working directory (cwd) from where the tool is called. | |
| prdId | Yes | The ID of the PRD to get user stories for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't specify whether this is a read-only operation, what format the user stories are returned in, potential errors (e.g., invalid PRD ID), or any rate limits. The description merely restates the tool's purpose without adding operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place, achieving optimal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'User Stories' entail (e.g., structured data, text descriptions), how results are returned, or error conditions. For a tool that likely returns complex data, more context is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-documented in the schema itself. The description adds no additional parameter semantics beyond implying 'prdId' identifies the PRD, which is already clear from the schema. This meets the baseline score of 3 since the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'User Stories' with scope 'for a particular PRD', making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'get-brds' or 'get-nfrs' which likely retrieve other document types, missing an opportunity to clarify its specific domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid PRD ID), exclusions, or relationships to sibling tools like 'get-prds' (which might list PRDs before selecting one). This leaves the agent without context for proper tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set-project-pathB
Set the project path and reload the solution, use this tool only when we not automatically able to infer the project path or asked by the user or us., we will try to auto infer it from the environment first.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The absolute path to the project directory containing specification files |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions that the tool 'reload[s] the solution,' which implies a state-changing operation, but doesn't disclose critical behavioral traits such as whether this requires specific permissions, what happens to existing project data, error conditions, or side effects. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single run-on sentence with awkward phrasing ('when we not automatically able to infer') and redundancy ('or asked by the user or us'). It could be more structured and concise, but it does front-load the core purpose. Some sentences could be trimmed for clarity without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutation operation with no annotations and no output schema), the description is moderately complete. It covers the purpose and usage guidelines adequately but lacks details on behavioral transparency, error handling, or return values. The schema covers parameters well, but overall completeness is limited by the missing behavioral context for a state-changing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'path' parameter well-documented as 'The absolute path to the project directory containing specification files.' The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Set the project path and reload the solution.' It specifies the verb ('set') and resource ('project path'), and includes an additional action ('reload the solution'). However, it doesn't distinguish this tool from its siblings (all 'get-' tools), which are clearly read-only operations, making this distinction implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines: 'use this tool only when we not automatically able to infer the project path or asked by the user or us.' It also mentions an alternative approach ('we will try to auto infer it from the environment first'), giving clear context for when to use this tool. However, it doesn't explicitly state when NOT to use it or name specific sibling alternatives, though the context implies it's for setup vs. data retrieval tools.
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.
9 tool updates
v1.0.0- First observed
get-bps - First observed
get-brds - First observed
get-nfrs - First observed
get-prds - First observed
get-task - First observed
get-tasks - First observed
get-uirs - First observed
get-user-stories - First observed
set-project-path
TDQS
Scored across 9 tools
Most tools have clear distinctions based on document types (e.g., BPS, BRDs, NFRS, PRDs, UIRs) and resource levels (e.g., tasks vs. user stories), but there is some overlap between 'get-task' and 'get-tasks' that could cause confusion about when to use each. The 'set-project-path' tool is distinct in purpose but stands out from the retrieval-focused tools.
The naming follows a consistent verb-object pattern with hyphens (e.g., 'get-bps', 'get-brds'), which is clear and predictable across most tools. However, 'set-project-path' deviates slightly by using 'set' instead of 'get', but it still maintains the same hyphenated structure, keeping it mostly consistent.
With 9 tools, the count is well-scoped for a document and project management server, covering various requirement documents, tasks, and user stories without being overwhelming. Each tool appears to serve a specific purpose, making the set manageable and focused.
The toolset provides good retrieval coverage for documents, tasks, and user stories, but there are notable gaps in CRUD operations, such as creating, updating, or deleting these resources. For a server focused on project requirements, the lack of write operations limits its completeness for full lifecycle management.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
- TypeshipOAuthdev.typeship
Generate a typed SDK, CLI, and MCP server from any OpenAPI or GraphQL spec, and keep them current.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server implementation that enables connection between OpenAI APIs and MCP clients for coding assistance with features like CLI interaction, web API integration, and tool-based architecture.35-
- FlicenseCqualityDmaintenanceA Model Context Protocol implementation that provides a standardized interface for task management, supporting both STDIO mode for CLI/AI applications and HTTP+SSE mode for browser-based clients.411-
- AlicenseBqualityDmaintenanceA Model Context Protocol server that captures and manages stdout logs through named pipes, making application output available for querying and debugging in AI tools like Cursor IDE.129 npm6ISC
- AlicenseNot gradedqualityCmaintenanceA powerful executable server for running Model Context Protocol services that supports tool chain execution, multiple MCP services management, and a pluggable tool system for complex automation workflows.14 npm166MIT