@firestitch/specifymcp
v1.0.19
Published
Model Context Protocol (MCP) server for Specify project management platform. Provides tools for managing ERD dataobjects, projects, tasks, plans, and components.
Downloads
53
Readme
Specify MCP Server
A Model Context Protocol (MCP) server that provides comprehensive access to the Specify project management platform API. This server enables AI assistants like Claude to interact with Specify projects, ERD diagrams, tasks, plans, components, and more.
Features
🗂️ Project Management
- List and search projects
- Get project details
- Set current project context
📊 ERD & Database Design
- Dataobject Management: Create, read, update, delete tables and fields
- Table Operations: Position tables on ERD diagrams (x1, y1 coordinates)
- Field Management: Define data types, primary keys, foreign keys, constraints
- Relationships: Establish foreign key relationships between tables
📋 Task Management
- Create, update, and search tasks
- Filter by priority, status, assignee
- Add comments to tasks
- Track task assignments and due dates
📑 Plan & Component Management
- Manage project plans and versions
- Create and organize components
- Link components to plans and tasks
📄 Documentation & Assets
- Manage project documentation
- Handle mockups and design assets
- Search across all content types
🔍 Search & Discovery
- Universal search across all entity types
- Enhanced search with multiple strategies
- Filter and pagination support
Installation
Option 1: Install from npm (Recommended)
npm install -g @firestitch/specifymcpOption 2: Install from source
git clone https://github.com/firestitch/specifymcp
cd specifymcp
npm install
npm run buildConfiguration
For npm installation (Claude Desktop)
Add to your Claude Desktop configuration file (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"specify": {
"command": "specify-mcp-server",
"env": {
"SPECIFY_ENVIRONMENT": "prod"
}
}
}
}For source installation
{
"mcpServers": {
"specify": {
"command": "node",
"args": ["./dist/index.js"],
"cwd": "/path/to/specify-mcp-server",
"env": {
"SPECIFY_ENVIRONMENT": "prod"
}
}
}
}Note: Restart Claude Desktop after updating the configuration.
Available Tools
Authentication
auth- Authenticate with email and passwordauth_with_code- Authenticate with verification codeverify_auth- Check authentication statussignout- Sign out and clear token
Search
search- Universal search across all entity types
Projects
list_projects- List/search projectsget_project- Get project details by IDset_current_project- Set current project contextget_current_project- Get current project contextclear_current_project- Clear project contextcreate_project- Create new projectupdate_project- Update existing projectdelete_project- Delete project
Tasks
list_tasks- List/search tasks with filteringget_task- Get detailed task informationcreate_task- Create new taskupdate_task- Update existing taskcomment_task- Add comment to task
Plans & Components
list_plans- List/search project plansget_plan- Get plan detailscreate_plan- Create new planupdate_plan- Update existing planlist_components- List/search componentsget_component- Get component detailscreate_component- Create new componentupdate_component- Update existing component
Data & ERDs
list_data- List/search ERD entitiesget_data- Get ERD entity detailscreate_data- Create new ERD entityupdate_data- Update ERD entitylist_dataobjects- List tables/fields in ERDget_dataobject- Get table/field detailscreate_dataobject- Create table or fieldupdate_dataobject- Update table or fielddelete_dataobject- Delete table or field
Documentation & Mockups
list_docs- List/search documentationget_doc- Get document detailscreate_doc- Create new documentupdate_doc- Update documentlist_mockups- List/search mockups/assetsget_mockup- Get mockup detailscreate_mockup- Create new mockupupdate_mockup- Update mockup
Utilities
get_current_account- Get current user infolist_accounts- List user accountslist_statuses- Get available statuses for object typeslist_types- Get available types for object typesrelate_objects- Create relationships between objectsget_related_objects- Get objects related to a specific objectlist_environments- List available environments
Environments
prod- https://fs.specify.com/api/dev- https://specify.dev.firestitch.com/api/local- http://specify.local.firestitch.com/api/
Usage
First authenticate with email and password:
auth --email="[email protected]" --password="your-password" --environment="dev"Set current project context:
list_projects --limit=10 set_current_project --projectId=123Use tools without specifying project:
list_tasks --assignedToMe=true create_task --name="New feature" --priority=30
Workflow Examples
ERD Creation:
create_data --name="E-commerce Schema"
create_dataobject --dataId=123 --name="users" --type=table
create_dataobject --dataId=123 --name="user_id" --type=column --parentDataObjectId=456 --dataType=int --key=true
create_dataobject --dataId=123 --name="email" --type=column --parentDataObjectId=456 --dataType=varchar --dataLength=255Task Management:
list_tasks --taskStatus="To Do" --priority=30
update_task --id=789 --taskStatus="In Progress"
comment_task --id=789 --comment="Started working on this"📁 Project Structure
specifymcp/
├── src/ # Source code
│ ├── index.ts # Main MCP server
│ ├── api-client.ts # Specify API client
│ ├── config.ts # Configuration
│ └── tools/ # Tool definitions by category
│ ├── auth/ # Authentication tools
│ ├── project/ # Project management tools
│ ├── task/ # Task management tools
│ ├── plan/ # Plan & component tools
│ ├── data/ # ERD & data tools
│ ├── documentation/ # Documentation tools
│ ├── mockups/ # Mockup & asset tools
│ ├── objects/ # Object relationship tools
│ ├── accounts/ # Account management tools
│ ├── environments/ # Environment tools
│ └── utils/ # Utility tools
├── tests/ # Test suite
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ ├── e2e/ # End-to-end tests
│ ├── fixtures/ # Test data
│ └── helpers/ # Test utilities
├── dist/ # Compiled JavaScript
├── CLAUDE.md # Project instructions
└── package.json # Dependencies and scripts🧪 Testing
The project includes comprehensive tests:
# Run all tests
npm test
# Run specific test suites
npm run test:unit
npm run test:integration
npm run test:e2e📖 Documentation
- CLAUDE.md - Project instructions and development context
- API Documentation - Specify API reference
