Granoflow MCP Server

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.

Category
Visit Server

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

  • develop is the active integration branch. It may contain unverified or unreleased changes.
  • main is the npm release branch. Publish @granoflow/mcp-server latest only from main.
  • Merge or fast-forward develop into main only 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_status
  • granoflow_setup_detect_local_api
  • granoflow_setup_write_config
  • granoflow_setup_open_config
  • granoflow_setup_open_app
  • granoflow_health
  • granoflow_version
  • granoflow_capabilities
  • granoflow_ai_agent_tools
  • granoflow_task_list
  • granoflow_task_export
  • granoflow_task_validate
  • granoflow_task_import
  • granoflow_task_create
  • granoflow_task_create_structured
  • granoflow_task_update
  • granoflow_task_update_structured
  • granoflow_task_complete
  • granoflow_task_finish
  • granoflow_task_resolve
  • granoflow_project_list
  • granoflow_project_resolve
  • granoflow_project_create
  • granoflow_project_update
  • granoflow_project_delete
  • granoflow_milestone_list
  • granoflow_milestone_resolve
  • granoflow_milestone_create
  • granoflow_milestone_update
  • granoflow_milestone_delete
  • granoflow_review_day_show
  • granoflow_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_status reports 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_api probes a small bounded localhost port list only.
  • granoflow_setup_write_config previews or writes non-secret config. It defaults to dry-run.
  • granoflow_setup_open_config creates and optionally opens the config file for manual editing.
  • granoflow_setup_open_app previews or opens the installed Granoflow app after user approval. On macOS it tries the formal /Applications/granoflow.app path 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured