Granoflow MCP Server
Exposes Granoflow's local REST API and CLI as tools for AI agents, IDEs, and automation, enabling task and project management via natural language.
README
Granoflow MCP Server
MCP server for Granoflow: exposes the Granoflow Local HTTP API as tools for AI agents, IDEs, and automation.
This server is intentionally thin. It does not own Granoflow business logic, database access, app orchestration, or release workflows. It resolves a local API endpoint, forwards structured requests to the running Granoflow app, and returns predictable MCP tool results.
Requirements
- Node.js 20 or newer.
- A running Granoflow app with the Local HTTP API enabled.
The default Granoflow API URL is:
http://127.0.0.1:56789
You can override it with:
export GRANOFLOW_API_BASE_URL="http://127.0.0.1:56789"
export GRANOFLOW_API_TOKEN="..."
The MCP server can keep non-secret local connection defaults in:
~/.config/granoflow-mcp/config.json
Set GRANOFLOW_MCP_CONFIG_PATH to use a different config path for tests,
temporary setups, or advanced local installs. API tokens are not stored in this
file; keep GRANOFLOW_API_TOKEN in the MCP client environment.
Install
npm install -g @granoflow/mcp-server
For a user-facing setup walkthrough, see Granoflow MCP User Install And Demo Guide.
For maintainers, see Granoflow MCP Release Checklist.
Release Branch Policy
developis the active integration branch. It may contain unverified or unreleased changes.mainis the npm release branch. Publish@granoflow/mcp-serverlatest only frommain.- Merge or fast-forward
developintomainonly after release preflight passes.
For local development:
npm install
npm run build
node dist/index.js
Verify an installed package without starting an MCP stdio session:
npx -y @granoflow/mcp-server --version
npx -y @granoflow/mcp-server --help
Before publishing a release, verify the package contents:
npm run release:preflight
Tools
Initial tools:
granoflow_setup_statusgranoflow_setup_detect_local_apigranoflow_setup_write_configgranoflow_setup_open_configgranoflow_setup_open_appgranoflow_healthgranoflow_versiongranoflow_capabilitiesgranoflow_ai_agent_toolsgranoflow_task_listgranoflow_task_exportgranoflow_task_validategranoflow_task_importgranoflow_task_creategranoflow_task_create_structuredgranoflow_task_updategranoflow_task_update_structuredgranoflow_task_completegranoflow_task_finishgranoflow_task_resolvegranoflow_project_listgranoflow_project_resolvegranoflow_project_creategranoflow_project_updategranoflow_project_deletegranoflow_milestone_listgranoflow_milestone_resolvegranoflow_milestone_creategranoflow_milestone_updategranoflow_milestone_deletegranoflow_review_day_showgranoflow_api_request
Prefer the structured task, project, and milestone tools for common resource operations. The JSON payload tools remain available as escape hatches when the running app exposes newer fields before this package has first-class schemas.
Write tools default to dry-run behavior. Ask the tool to write only after you have reviewed the preview or the user has explicitly requested a write. Delete tools also require the current resource title before writing, and refuse linked tasks unless the caller explicitly accepts that impact.
Setup Diagnostics
Use the setup tools when an agent or MCP client needs to connect to a local Granoflow app without hand-editing every setting first:
granoflow_setup_statusreports config path, env/config precedence, token presence, MCP server version, Local HTTP API health, version metadata, capability summary, and local Granoflow process evidence without printing secrets.granoflow_setup_detect_local_apiprobes a small bounded localhost port list only.granoflow_setup_write_configpreviews or writes non-secret config. It defaults to dry-run.granoflow_setup_open_configcreates and optionally opens the config file for manual editing.granoflow_setup_open_apppreviews or opens the installed Granoflow app after user approval. On macOS it tries the formal/Applications/granoflow.apppath before app-name fallbacks. It defaults to dry-run.
When setup status sees a configured localhost API URL that is unreachable, it checks whether a local Granoflow process appears to be running. If not, it returns a warning and asks the agent to confirm before opening the app.
Client Support
This package implements a standard MCP stdio server. The primary compatibility contract is the MCP protocol plus the npm executable:
npx -y @granoflow/mcp-server
Cursor and Codex are the verified client targets for this repository. Other MCP-compatible clients can use the same stdio command shape, but are not part of the routine verification matrix.
Cursor
Add this to .cursor/mcp.json in a project or ~/.cursor/mcp.json globally:
{
"mcpServers": {
"granoflow": {
"command": "npx",
"args": ["-y", "@granoflow/mcp-server"],
"env": {
"GRANOFLOW_API_BASE_URL": "http://127.0.0.1:56789"
}
}
}
}
Codex
Add this to ~/.codex/config.toml:
[mcp_servers.granoflow]
command = "npx"
args = ["-y", "@granoflow/mcp-server"]
[mcp_servers.granoflow.env]
GRANOFLOW_API_BASE_URL = "http://127.0.0.1:56789"
Restart Codex after changing MCP configuration.
Other MCP-Compatible Clients
For clients that support local stdio MCP servers, configure the server with:
{
"type": "stdio",
"command": "npx",
"args": ["-y", "@granoflow/mcp-server"],
"env": {
"GRANOFLOW_API_BASE_URL": "http://127.0.0.1:56789",
},
}
Development
npm install
npm run check
npm run check runs Prettier, ESLint, TypeScript, and Vitest.
Security
- This server does not read or write Granoflow's SQLite/Drift database.
- This server does not run Granoflow app builds, screenshots, release jobs, or scenario orchestration.
- Core operations go through the running app's Local HTTP API.
- API tokens are passed through environment variables and must not be logged.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.