Skip to main content
Glama
doso
by doso

@vj-presidio/specif-ai-mcp-server

A CLI tool that runs an MCP (Model Context Protocol) server over stdio for Specif-ai.

Installation & Usage Overview

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

Installation

You can install the binary directly using our installation script:

# 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

or manually download the binary for your platform from the Releases page.

Package Manager Installation

You can install globally using 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

Or using 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

Updates

To check for updates:

# 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

To update to the latest version:

# 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

To update to a specific version:

# 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.3

Example MCP Client Configuration

with npx with latest version:

{
  "specif-ai": {
    "command": "npx",
    "args": ["--yes", "@vj-presidio/specif-ai-mcp-server@latest"],
    "disabled": false,
    "autoApprove": []
  }
}

with npx with specific version:

{
  "specif-ai": {
    "command": "npx",
    "args": ["--yes", "@vj-presidio/specif-ai-mcp-server@1.2.3"],
    "disabled": false,
    "autoApprove": []
  }
}

with bunx with latest version:

{
  "specif-ai": {
    "command": "bunx",
    "args": ["@vj-presidio/specif-ai-mcp-server@latest"],
    "disabled": false,
    "autoApprove": []
  }
}

with bunx with specific version:

{
  "specif-ai": {
    "command": "bunx",
    "args": ["@vj-presidio/specif-ai-mcp-server@1.2.3"],
    "disabled": false,
    "autoApprove": []
  }
}

with direct binary or package manager global installation:

{
  "specif-ai": {
    "command": "specif-ai-mcp-server",
    "args": [],
    "disabled": false,
    "autoApprove": []
  }
}

Options

  • --help, -h: Display help information

  • --version: Display version information

See the setup instructions for each

  1. Cline

  2. Cursor

Setting Project Path

Once the server is running, you can set the project path using the set-project-path tool. This tool accepts a path to the directory containing your specification files. After setting the path, the server will load all documents from that directory.

Example tool usage:

{
  "name": "set-project-path",
  "arguments": {
    "path": "./path/to/project"
  }
}

Available Tools

The server provides several tools for interacting with your specification documents:

Tool Name

Description

set-project-path

Set or change the project directory path

get-brds

Get Business Requirement Documents

get-prds

Get Product Requirement Documents

get-nfrs

Get Non-Functional Requirements

get-uirs

Get User Interface Requirements

get-bps

Get Business Process Documents

get-user-stories

Get User Stories for a specific PRD

get-tasks

Get Tasks for a specific User Story

get-task

Get details of a specific Task

Requirements

For binary installation:

  • curl (Unix) or PowerShell (Windows)

  • sudo access (Unix, for system-wide installation)

For package manager installation:

  • Node.js >= 16.0.0

  • Bun >= 1.0.0 (if using Bun runtime)

License

MIT

Available Tools

9 tools
get-bpsC

Get Business Process Documents for this project

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute 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

C2.9/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 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.

Conciseness5/5

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.

Completeness2/5

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.

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 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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute 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

C2.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute 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

C2.9/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 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute 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

C2.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 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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute 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.
prdIdYesThe ID of the PRD to get user stories for
taskIdYesThe ID of the Task to get
userStoryIdYesThe ID of the User Story to get tasks for

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute 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.
prdIdYesThe ID of the PRD to get user stories for
userStoryIdYesThe ID of the User Story to get tasks for

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

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 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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute 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

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

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 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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdYesAbsolute 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.
prdIdYesThe ID of the PRD to get user stories for

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesThe absolute path to the project directory containing specification files

TDQS

B3.3/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. 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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • First observedget-bps
    • First observedget-brds
    • First observedget-nfrs
    • First observedget-prds
    • First observedget-task
    • First observedget-tasks
    • First observedget-uirs
    • First observedget-user-stories
    • First observedset-project-path

TDQS

B3.1/5.0
Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness3/5

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.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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
    -
  • F
    license
    C
    quality
    D
    maintenance
    A 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.
    4
    11
    -
  • A
    license
    B
    quality
    D
    maintenance
    A 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.
    1
    27
    7
    ISC
  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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.
    28
    160
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/doso/specif-ai-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server