specif ai mcp server
A CLI tool that runs a Model Context Protocol server over stdio, enabling interaction with specification documents like business requirements, product requirements, and user stories for the Specif-ai platform.
A CLI tool that runs a Model Context Protocol server over stdio, enabling interaction with specification documents like business requirements, product requirements, and user stories for the Specif-ai platform.
A CLI tool that runs an MCP (Model Context Protocol) server over stdio for Specif-ai.
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]
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.
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/[email protected]
Or using bun
:
# Latest version
bun install -g @vj-presidio/specif-ai-mcp-server@latest
# Specific version
bun install -g @vj-presidio/[email protected]
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
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/[email protected]"],
"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/[email protected]"],
"disabled": false,
"autoApprove": []
}
}
with direct binary or package manager global installation:
{
"specif-ai": {
"command": "specif-ai-mcp-server",
"args": [],
"disabled": false,
"autoApprove": []
}
}
--help
, -h
: Display help information--version
: Display version informationSee the setup instructions for each
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"
}
}
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 |
For binary installation:
For package manager installation:
MIT
[
{
"description": "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.",
"inputSchema": {
"properties": {
"path": {
"description": "The absolute path to the project directory containing specification files",
"type": "string"
}
},
"required": [
"path"
],
"type": "object"
},
"name": "set-project-path"
},
{
"description": "Get Business Requirement Documents for this project",
"inputSchema": {
"properties": {
"cwd": {
"description": "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.",
"type": "string"
}
},
"required": [
"cwd"
],
"type": "object"
},
"name": "get-brds"
},
{
"description": "Get Product Requirement Documents for this project",
"inputSchema": {
"properties": {
"cwd": {
"description": "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.",
"type": "string"
}
},
"required": [
"cwd"
],
"type": "object"
},
"name": "get-prds"
},
{
"description": "Get Non-Functional Requirement Documents for this project",
"inputSchema": {
"properties": {
"cwd": {
"description": "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.",
"type": "string"
}
},
"required": [
"cwd"
],
"type": "object"
},
"name": "get-nfrs"
},
{
"description": "Get User Interface Requirement Documents for this project",
"inputSchema": {
"properties": {
"cwd": {
"description": "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.",
"type": "string"
}
},
"required": [
"cwd"
],
"type": "object"
},
"name": "get-uirs"
},
{
"description": "Get Business Process Documents for this project",
"inputSchema": {
"properties": {
"cwd": {
"description": "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.",
"type": "string"
}
},
"required": [
"cwd"
],
"type": "object"
},
"name": "get-bps"
},
{
"description": "Get User Stories for a particular PRD",
"inputSchema": {
"properties": {
"cwd": {
"description": "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.",
"type": "string"
},
"prdId": {
"description": "The ID of the PRD to get user stories for",
"type": "string"
}
},
"required": [
"prdId",
"cwd"
],
"type": "object"
},
"name": "get-user-stories"
},
{
"description": "Get Tasks for a particular User Story",
"inputSchema": {
"properties": {
"cwd": {
"description": "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.",
"type": "string"
},
"prdId": {
"description": "The ID of the PRD to get user stories for",
"type": "string"
},
"userStoryId": {
"description": "The ID of the User Story to get tasks for",
"type": "string"
}
},
"required": [
"prdId",
"userStoryId",
"cwd"
],
"type": "object"
},
"name": "get-tasks"
},
{
"description": "Get a Task for a particular User Story in a particular PRD",
"inputSchema": {
"properties": {
"cwd": {
"description": "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.",
"type": "string"
},
"prdId": {
"description": "The ID of the PRD to get user stories for",
"type": "string"
},
"taskId": {
"description": "The ID of the Task to get",
"type": "string"
},
"userStoryId": {
"description": "The ID of the User Story to get tasks for",
"type": "string"
}
},
"required": [
"prdId",
"userStoryId",
"taskId",
"cwd"
],
"type": "object"
},
"name": "get-task"
}
]