Let your AI assistant run the plan.
The GanttFather MCP server is an endpoint at mcp.ganttfather.com that lets assistants read, build, visualise and update your Gantt data — tasks, dependencies, members, resources, critical path. Connect once and it reaches every project you own or collaborate on.
Prefer raw REST calls over an assistant? See the API reference.
Endpoint summary
- Server name
ganttfather- URL
https://mcp.ganttfather.com/- Transport
- Streamable HTTP
- Auth
- OAuth connector, or bearer access token — read-only or read & write
- Scope
- Account-wide — every project you own or collaborate on
- Rate limit
- 60 requests / minute per token
- Pricing
- Free for any GanttFather user · no per-call fees
Connect in three steps
Two ways in: signing in with OAuth where your assistant supports it, otherwise an access token from Settings.
- 1
See how your assistant signs in
Most assistants and editors sign in to GanttFather in the browser and need no token. Scripts, and tools that cannot sign in, use an access token: in the GanttFather app open Settings → AI Agents & API and create one, read-only or read & write.
Open GanttFather settings → - 2
Add the server
Paste the server URL where your assistant asks for it, or drop the snippet below into its MCP configuration. Each assistant, editor and tool has its own steps further down.
- 3
Ask for the plan
Your assistant can now create tasks, set dependencies, reassign work, inspect the critical path, and draw the Gantt chart inline.
Configuration
If your editor supports OAuth-based MCP servers, add this URL as a custom server. You will be prompted to authorize securely — no manual token needed.
mcp.jsonMost editors{
"mcpServers": {
"ganttfather": {
"url": "https://mcp.ganttfather.com/"
}
}
}For editors without native OAuth, generate an access token from Settings → AI Agents & API and replace YOUR_AGENT_TOKEN below.
mcp.jsonBearer authentication{
"mcpServers": {
"ganttfather": {
"type": "http",
"url": "https://mcp.ganttfather.com/",
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
}
}Transport note. The server speaks Streamable HTTP. Where a client asks for a type it is usually "type": "http"; avoid the deprecated "type": "sse". Clients name these fields in their own way: see Set up your assistant.
Install in one click
These editors and agents add GanttFather from a link: the button opens the app, which asks you to confirm. Some browsers block links that open an app, so each button also has the same entry to add by hand.
VS Code
Not yet tested by usThen start the server and sign in as the VS Code steps show.
If the button does nothing, add this to .vscode/mcp.json in your workspace:
.vscode/mcp.json {
"servers": {
"ganttfather": {
"type": "http",
"url": "https://mcp.ganttfather.com/"
}
}
} Cursor
Not yet tested by usThen sign in as the Cursor steps show.
If the button does nothing, add this to ~/.cursor/mcp.json:
mcp.json {
"mcpServers": {
"ganttfather": {
"url": "https://mcp.ganttfather.com/"
}
}
} LM Studio
Not yet tested by usLM Studio connects to servers on the internet from version 0.3.17. Its guide does not mention signing in: if LM Studio does not ask you to, add "headers": { "Authorization": "Bearer YOUR_AGENT_TOKEN" } next to the URL, with an access token from GanttFather in place of YOUR_AGENT_TOKEN.
If the button does nothing, open the Program tab, choose Install → Edit mcp.json and add the ganttfather entry inside mcpServers; if the file already lists servers, copy only that entry:
mcp.json {
"mcpServers": {
"ganttfather": {
"url": "https://mcp.ganttfather.com/"
}
}
} Kiro
Not yet tested by usKiro opens the GanttFather sign-in in the browser when it connects.
If the button does nothing, add this to ~/.kiro/settings/mcp.json, or to .kiro/settings/mcp.json in one project:
mcp.json {
"mcpServers": {
"ganttfather": {
"url": "https://mcp.ganttfather.com/"
}
}
} Goose
Not yet tested by usGoose registers itself with GanttFather. Sign in when the browser opens.
Goose keeps its settings in YAML, not JSON. If the button does nothing, run goose configure and choose Add Extension → Remote Extension (Streamable HTTP), or add the ganttfather entry under extensions: in ~/.config/goose/config.yaml; if the file already has extensions:, copy only that entry:
config.yaml extensions:
ganttfather:
name: GanttFather
type: streamable_http
uri: https://mcp.ganttfather.com/
enabled: true
timeout: 300 Set up your assistant
Pick the assistant, editor or tool you use. Each one adds the server in its own way; the steps follow its own documentation, linked under each guide in case a menu has moved.
Using more than one? GanttFather keeps one sign-in connection per person, so signing in from a second assistant ends the first one's. Sign in from one, and give each of the others its own access token: tokens you create are not affected. Claude, ChatGPT and the Gemini app can only sign in, so only one of those stays connected at a time.
Claude
Signs in in the browser · no tokenFor Claude on the web, in the desktop app and on the phone. You add GanttFather once as a connector.
- In Claude, open Customize → Connectors and choose Add custom connector.
- Name it GanttFather and paste
https://mcp.ganttfather.com/as the server URL. Leave the OAuth client ID and secret empty; if Claude asks how to register, choose Register automatically. - Choose Add, and Connect if Claude does not start the sign-in by itself. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
- In a chat, select + in the message box, then Connectors, and turn GanttFather on.
On the Free plan Claude allows one custom connector. On Team and Enterprise an Owner adds it first under Organization settings → Connectors; each member then connects from Customize → Connectors.
Claude Code
Not yet tested by us Signs in in the browser · or a token- Run this once in a terminal:
Terminalclaude mcp add --transport http ganttfather https://mcp.ganttfather.com/ - Start Claude Code, run
/mcp, selectganttfatherand choose Authenticate. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
Terminal claude mcp add --transport http ganttfather https://mcp.ganttfather.com/ --header "Authorization: Bearer YOUR_AGENT_TOKEN" Add --scope user to have the server in every project. In a .mcp.json file, Claude Code needs "type": "http" next to the URL.
Claude Desktop (config file)
Not yet tested by us Signs in in the browser · or a tokenThe Claude connector also works in the desktop app and is the simpler way. Use the config file only when you want the connection defined on your computer. Claude Desktop starts local commands from that file, so a small bridge, mcp-remote, connects it to the server. It needs Node.js 18 or newer.
- In Claude Desktop, open Settings → Developer → Edit Config.
- Add the server and save:
claude_desktop_config.json{ "mcpServers": { "ganttfather": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.ganttfather.com/" ] } } } - Quit Claude Desktop completely and open it again. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, use this entry with your token in place of YOUR_AGENT_TOKEN. The header is written without a space on purpose: Claude Desktop on Windows breaks an argument that contains one.
claude_desktop_config.json {
"mcpServers": {
"ganttfather": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.ganttfather.com/",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer YOUR_AGENT_TOKEN"
}
}
}
} To sign in again from scratch, delete the folder ~/.mcp-auth and restart Claude Desktop.
ChatGPT
Not yet tested by us Signs in in the browser · no tokenThese are OpenAI's own steps: we have not been able to try them ourselves yet, so write to us if something does not match. According to them, ChatGPT adds the server on the web, as a plugin of your own, and connects by signing in only, so an access token cannot be used. OpenAI decides which plans and workspaces may add one: if you do not see the option, yours does not have it yet.
- Open chatgpt.com/plugins, select the plus button and choose Add custom MCP server.
- Enter a name and, under Connection, the Server URL
https://mcp.ganttfather.com/. - For authentication choose OAuth, accept the notice with I understand and want to continue, and select Create as a plugin.
- Install the plugin and sign in to GanttFather when asked. In a chat, type
@and select it.
Gemini app
Not yet tested by us Signs in in the browser · no token- In Gemini, open Settings → Connected Apps.
- Under Custom apps, choose Add a custom app and paste
https://mcp.ganttfather.com/exactly as written, with the final slash. - Leave Advanced features empty and choose Next.
- Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
If Gemini asks for an OAuth client ID and secret, open Advanced features and enter the client ID ganttfather. For the secret type any word: GanttFather does not use one, and you still approve the connection when you sign in. It is not your password, and an access token does not go there.
Gemini connects by signing in only, so an access token from Settings cannot be used with it. Google offers custom apps to personal Google accounts in the United States, in English, with Keep Activity turned on; if you do not see Custom apps, your account does not have them yet.
Gemini Enterprise
Not yet tested by us Signs in in the browser · no tokenFor Gemini Enterprise in Google Cloud. An administrator adds GanttFather once as a custom MCP server, and each person then signs in with their own GanttFather account. These are Google's own steps: we have not been able to try them in a Gemini Enterprise project yet, so write to us if something does not match.
- In the Google Cloud console, open Gemini Enterprise → Data stores, choose Create data store, pick Custom MCP Server and choose Add MCP server.
- Enter
https://mcp.ganttfather.com/as the MCP Server URL and, under Authentication settings, choose OAuth 2.0. - Fill in the OAuth fields: Authorization URL
https://mcp.ganttfather.com/authorize, Token URLhttps://mcp.ganttfather.com/token, Client IDganttfather, any word as the Client Secret, and Scopesmcp:read mcp:write. Turn on Enable PKCE Support: GanttFather refuses the sign-in without it. - Choose Verify Auth. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize. Then choose Continue, pick a location, name the connector and choose Create.
- When the data store is Active, open it, choose Actions → Reload custom actions, select the GanttFather tools to offer and choose Enable actions.
Gemini Enterprise returns to Google's address https://vertexaisearch.cloud.google.com/oauth-redirect, which GanttFather accepts for the client ID ganttfather; there is nothing to register with us. If your organization limits outbound traffic, allow mcp.ganttfather.com in allowedEgressFqdns.
Setting it up takes the Discovery Engine Editor role, and your organization's policy must allow custom MCP data stores. Each person reaches only the projects they can open in GanttFather.
Gemini CLI
Not yet tested by us Uses an access token- In GanttFather, open Settings → AI Agents & API and create an access token, read-only or read & write.
- Run this once, with your token in place of
YOUR_AGENT_TOKEN:Terminalgemini mcp add --transport http --header "Authorization: Bearer YOUR_AGENT_TOKEN" ganttfather https://mcp.ganttfather.com/
Or add it yourself to ~/.gemini/settings.json:
settings.json {
"mcpServers": {
"ganttfather": {
"httpUrl": "https://mcp.ganttfather.com/",
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
}
} Gemini CLI needs httpUrl. A plain url means a different, older transport there and does not connect.
Antigravity
Not yet tested by us Signs in in the browser · or a token- In Antigravity, open MCP Servers → Manage MCP Servers → View raw config.
- Add the server and save:
mcp_config.json{ "mcpServers": { "ganttfather": { "serverUrl": "https://mcp.ganttfather.com/" } } } - Open Settings → Customizations and choose Authenticate next to
ganttfather. The server stays disconnected until you do. - Sign in to GanttFather in the browser, authorize, then paste the code you are shown back into Antigravity.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
mcp_config.json {
"mcpServers": {
"ganttfather": {
"serverUrl": "https://mcp.ganttfather.com/",
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
}
} Antigravity reads serverUrl, not url.
Cursor
Not yet tested by us Signs in in the browser · or a token- Open or create
~/.cursor/mcp.jsonto have the server in every project, or.cursor/mcp.jsoninside one project. - Add the server and save:
mcp.json{ "mcpServers": { "ganttfather": { "url": "https://mcp.ganttfather.com/" } } } - Restart Cursor and open Customize → MCPs, where the server now appears. When Cursor asks you to sign in: Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
mcp.json {
"mcpServers": {
"ganttfather": {
"url": "https://mcp.ganttfather.com/",
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
}
} To keep the token out of the file, Cursor can read it from your environment: write "Bearer ${env:GANTTFATHER_TOKEN}" as the value.
VS Code
Not yet tested by us Signs in in the browser · or a tokenFor GitHub Copilot Chat in VS Code.
- Open the Command Palette and run MCP: Add Server. Give it the URL
https://mcp.ganttfather.com/and the nameganttfather. Or write it yourself in.mcp.jsonat the root of your workspace:.mcp.json{ "mcpServers": { "ganttfather": { "type": "http", "url": "https://mcp.ganttfather.com/" } } } - Run MCP: List Servers, start
ganttfatherand trust it when VS Code asks. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
.mcp.json {
"mcpServers": {
"ganttfather": {
"type": "http",
"url": "https://mcp.ganttfather.com/",
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
}
} VS Code's own file, .vscode/mcp.json, takes the same entry under servers instead of mcpServers. In a Copilot Business or Enterprise organization, an administrator must have allowed MCP servers.
GitHub Copilot's coding agent and Copilot code review do not support remote MCP servers that use OAuth yet, so signing in to GanttFather does not work there (GitHub's page).
GitHub Copilot CLI
Not yet tested by us Signs in in the browser · or a token- Run this once in a terminal:
Terminalcopilot mcp add --transport http ganttfather https://mcp.ganttfather.com/ - Start Copilot CLI and run
/mcp auth ganttfather. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
Terminal copilot mcp add --transport http --header "Authorization: Bearer YOUR_AGENT_TOKEN" ganttfather https://mcp.ganttfather.com/ The server is saved in ~/.copilot/mcp-config.json. Copilot CLI does not read VS Code's .vscode/mcp.json.
GitHub Copilot's coding agent and Copilot code review do not support remote MCP servers that use OAuth yet, so signing in to GanttFather does not work there (GitHub's page).
Windsurf
Not yet tested by us Signs in in the browser · or a tokenWindsurf is now called Devin Desktop. These steps are for its Cascade agent.
- In the Cascade panel, open the … menu at the top right and choose Open MCP config file.
- Add the server and save:
mcp_config.json{ "mcpServers": { "ganttfather": { "serverUrl": "https://mcp.ganttfather.com/" } } } - Go back to Cascade. When it asks you to sign in: Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
mcp_config.json {
"mcpServers": {
"ganttfather": {
"serverUrl": "https://mcp.ganttfather.com/",
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
}
} For the newer Devin Local agent, add the server and sign in from a terminal:
Terminal devin mcp add ganttfather https://mcp.ganttfather.com/
devin mcp login ganttfather On a team plan, an administrator may have to allow the server first, under the exact name ganttfather.
Codex
Not yet tested by us Signs in in the browser · or a token- Run this once in a terminal:
Terminalcodex mcp add ganttfather --url https://mcp.ganttfather.com/ - Codex opens the browser to sign in. If it does not, run
codex mcp login ganttfather. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather, put it in an environment variable called GANTTFATHER_TOKEN, and add the server like this:
Terminal codex mcp add ganttfather --url https://mcp.ganttfather.com/ --bearer-token-env-var GANTTFATHER_TOKEN The Codex IDE extension and the ChatGPT desktop app share this setup, which is kept in ~/.codex/config.toml.
OpenCode
Not yet tested by us Signs in in the browser · or a token- Open
~/.config/opencode/opencode.json, oropencode.jsonin your project, add the server and save:opencode.json{ "$schema": "https://opencode.ai/config.json", "mcp": { "ganttfather": { "type": "remote", "url": "https://mcp.ganttfather.com/", "enabled": true } } } - Run
opencode mcp auth ganttfather. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
opencode.json {
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ganttfather": {
"type": "remote",
"url": "https://mcp.ganttfather.com/",
"enabled": true,
"oauth": false,
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
}
} OpenCode 2 groups servers one level deeper, under mcp.servers. An entry written as above keeps working there.
Warp
Not yet tested by us Signs in in the browser · or a token- In Warp, open Warp Drive → Personal → MCP Servers, or Settings → Agents → MCP servers, and choose + Add.
- Choose Streamable HTTP or SSE Server (URL), enter the server and save:
JSON{ "ganttfather": { "url": "https://mcp.ganttfather.com/" } } - Warp opens the browser when the server starts. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
JSON {
"ganttfather": {
"url": "https://mcp.ganttfather.com/",
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
} Warp keeps the sign-in on this computer. On another computer you sign in again.
Zed
Not yet tested by us Signs in in the browser · or a token- In Zed, open Settings → AI → MCP Servers and choose Add Server → Add Remote Server. Or add it yourself to
settings.json:settings.json{ "context_servers": { "ganttfather": { "url": "https://mcp.ganttfather.com/" } } } - When Zed asks you to authenticate: Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, create one in GanttFather and put it in place of YOUR_AGENT_TOKEN:
settings.json {
"context_servers": {
"ganttfather": {
"url": "https://mcp.ganttfather.com/",
"headers": {
"Authorization": "Bearer YOUR_AGENT_TOKEN"
}
}
}
} Zed asks you to sign in only when the entry has no Authorization header.
JetBrains AI Assistant
Not yet tested by usFor AI Assistant in IntelliJ IDEA, PyCharm and the other JetBrains IDEs.
- Open Settings → Tools → AI Assistant → Model Context Protocol (MCP) and choose Add.
- In the New MCP Server dialog, choose the connection type for a server reached over HTTP and enter:
JSON{ "mcpServers": { "ganttfather": { "url": "https://mcp.ganttfather.com/" } } } - Choose OK, then Apply to connect.
JetBrains' guide does not say how AI Assistant signs in to a server on the internet, so we cannot tell you yet whether it opens the GanttFather sign-in.
Raycast
Not yet tested by us Signs in in the browser · or a token- In Raycast, run the Install MCP Server command.
- Enter a name, choose HTTP as Transport, enter
https://mcp.ganttfather.com/as URL and set OAuth Type to Dynamic. - Choose Install MCP Server, then Sign In. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
To use an access token instead of signing in, add it under HTTP Headers: the key Authorization and the value Bearer YOUR_AGENT_TOKEN, with your token in place of YOUR_AGENT_TOKEN.
MCP servers in Raycast need Raycast Pro.
Microsoft Copilot Studio
Not yet tested by usFor agents you build in Copilot Studio.
- Open your agent's Tools page and choose Add a tool → New tool → Model Context Protocol.
- Enter GanttFather as Server name,
https://mcp.ganttfather.com/as Server URL, and a Server description such as “Reads and edits GanttFather projects”. The agent reads the description to decide when to use the server. - For authentication choose OAuth 2.0, then Dynamic discovery. Choose Create, then Next.
- In Add tool, choose Create a new connection and sign in to GanttFather when asked. Then choose Add to agent.
Copilot Studio connects over Streamable HTTP, which is what GanttFather uses. If your organization has a data policy for Power Platform connectors, it applies to this server too.
Mistral Le Chat
Not yet tested by us- In Le Chat, open Connectors and choose + Add Connector.
- Switch to the Custom MCP Connector tab. Enter
ganttfatheras Connector name andhttps://mcp.ganttfather.com/as Server URL, and choose Connect. - Le Chat finds out by itself how GanttFather signs in. Sign in to GanttFather in the browser window that opens, choose read-only or read & write, and authorize.
Only an administrator can add a connector. On the Free, Pro and Student plans, the account owner is the administrator.
Perplexity
Not yet tested by us- In Perplexity, open Plugins in the sidebar and choose Add custom.
- Add a remote MCP server with the URL
https://mcp.ganttfather.com/, and sign in to GanttFather if Perplexity asks.
Perplexity's page does not list the form's fields, how it signs in, or which plans can add a server, so the second step is the general one.
Grok
Not yet tested by us- Open grok.com/connectors, choose New Connector, then Custom.
- Enter
https://mcp.ganttfather.com/as the MCP server URL, and sign in to GanttFather if Grok asks.
xAI's page does not say how a custom connector signs in, so the second step is the general one. On Grok Business and Enterprise, an administrator sets up connectors before members can use them.
n8n
Not yet tested by us Signs in in the browser · or a token- In GanttFather, open Settings → AI Agents & API and create an access token, read-only or read & write.
- On an AI Agent node, add a tool and choose MCP Client Tool.
- Set Endpoint to
https://mcp.ganttfather.com/and Server Transport to HTTP Streamable. - For Authentication choose Bearer Auth and create a credential with your access token in Bearer Token.
To sign in instead of using a token, choose MCP OAuth2, leave Use Dynamic Client Registration on and enter https://mcp.ganttfather.com/ as Server URL. This needs your n8n to be reached over https, or on localhost.
If the node shows only SSE Endpoint and no transport, it is an old copy: delete it and add MCP Client Tool again from the node list.
Your own code
Not yet tested by us Uses an access tokenScripts and agents you write connect with an access token. The official MCP libraries do it in a few lines.
- In GanttFather, open Settings → AI Agents & API and create an access token, read-only or read & write.
- In Python, install the library with
pip install mcp:Pythonimport asyncio import httpx2 from mcp import Client from mcp.client.streamable_http import streamable_http_client async def main() -> None: async with httpx2.AsyncClient( headers={"Authorization": "Bearer YOUR_AGENT_TOKEN"}, timeout=httpx2.Timeout(30.0, read=300.0), ) as http_client: transport = streamable_http_client("https://mcp.ganttfather.com/", http_client=http_client) async with Client(transport) as client: result = await client.list_tools() print([tool.name for tool in result.tools]) asyncio.run(main()) - In TypeScript, install it with
npm install @modelcontextprotocol/sdk:TypeScriptimport { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js'; const client = new Client({ name: 'my-ganttfather-script', version: '1.0.0' }); const transport = new StreamableHTTPClientTransport(new URL('https://mcp.ganttfather.com/'), { requestInit: { headers: { Authorization: 'Bearer YOUR_AGENT_TOKEN' } }, }); await client.connect(transport); const { tools } = await client.listTools(); console.log(tools.map((tool) => tool.name));
The Python example is for version 2 of the library. Version 1 uses ClientSession with httpx instead. In TypeScript, the newer @modelcontextprotocol/client package exports both names from its root; the rest is the same.
Any other client works the same way: Streamable HTTP at the URL above, with Authorization: Bearer and your token on every request.
Manus
Not yet tested by us Uses an access tokenThese are Manus's own steps: we have not been able to try them ourselves yet, so write to us if something does not match.
- In GanttFather, open Settings → AI Agents & API and create an access token, read-only or read & write.
- In Manus, open Settings → Integrations → Custom MCP Servers and choose Add Server.
- Enter a name, the server URL
https://mcp.ganttfather.com/and, under Authentication, your access token.
Manus also offers Connectors → Create → Add MCP by URL, which asks only for a name and the URL.
Connect from Gemini
Gemini comes in three forms, and each connects to GanttFather in its own way.
- The Gemini app, for a personal Google account: add GanttFather as a custom app under Settings → Connected Apps and sign in. Steps for the Gemini app
- Gemini Enterprise, in Google Cloud: an administrator adds GanttFather once as a custom MCP server, with OAuth 2.0 and the client ID
ganttfather, and each person then signs in. Steps for Gemini Enterprise - Gemini CLI, in a terminal: it connects with an access token. Steps for Gemini CLI
The 31 tools
Exactly what the server advertises on the tools/list handshake.
Read & discover
9 toolslist_projects- Every project this connection can act on.
get_project- Full details: members, resources and the project's custom status catalog.
get_project_summary- Task count, completion percentage and overdue count.
get_project_timeline- The whole plan as structured data — hierarchy, dependencies, statuses and critical path.
list_tasks- List tasks in a project. Filter by status, assignee or parent.
get_task- Dates, progress, status, dependencies and assignments for one task.
list_dependencies- A task's predecessors and the tasks waiting on it, with the type and lag of each link.
list_members- All project members, including connected AI agents.
list_resources- Non-human resources — equipment, software, rooms and virtual assets.
Analyze
2 toolsget_critical_path- Identify the critical path through dependencies using CPM.
get_overdue_tasks- Tasks past their end date that aren't finished yet.
Visualize
2 toolsshow_gantt_chart- Draw an interactive Gantt in the conversation — bars, hierarchy, dependencies, critical path and today line.
render_gantt_image- Render a static SVG or Markdown mermaid block for clients that can't show the interactive chart.
Create & edit
17 toolscreate_task- Create a task with dates, status, priority, parent and assignees. An idempotency key makes retries safe.
duplicate_task- Copy one task directly below itself: name, description, dates, estimation, priority, color and assignees. The copy starts fresh at 0%. Dependencies, attachments and any Azure DevOps link are not copied, and group tasks cannot be duplicated yet.
update_task- Partial update — only the fields you pass change. Status and progress stay in step.
delete_task- Delete a task and all its subtasks, dependencies and assignments.
create_task_series- Create a recurring series: a series row with the repeat rule and one ordinary task per date under it. Repeat every N days, weeks on chosen weekdays, months or years, ending on a date, after a count or when the project ends. Dates on non-working days move to the next working day or are skipped. At most 100 tasks, never under a task linked to Azure DevOps.
update_task_series- Change a whole series. Only tasks not started yet change: done and started tasks and fields changed by hand are kept. A dry run, the default, lists every change and returns a revision. Applying with that revision changes exactly what was previewed.
stop_task_series- Stop a series from repeating. Its tasks stay as ordinary tasks.
reorder_tasks- Batch reorder and re-nest tasks in a single call.
set_task_assignees- Replace the people and resources assigned to a task in one call.
add_dependency- Make one task wait for another — finish-to-start by default, with an optional lag. Safe to repeat.
remove_dependency- Remove one dependency between two tasks.
set_task_dependencies- Replace all of a task's predecessors in one call.
add_task_image- Add an image to a task's description.
add_resource- Add a Human or Virtual resource with an Hour, Use or Flat cost model.
update_resource- Update an existing resource.
delete_resource- Delete a resource and remove it from task assignments.
update_project_context- Keep a short project note that the assistant reads back in later conversations.
Get help
1 tooldraft_support_email- Draft a support email to the GanttFather team with diagnostic details, for you to send. It sends nothing itself.
What people actually ask it
Plan a project from a brief
“Read this PRD and create a GanttFather plan with milestones, dependencies and a 6-week timeline.”
The agent creates tasks with computed dates, sets dependencies, then confirms the schedule with the critical path.
See the plan as a chart
“Show me the GanttFather plan for the launch project.”
The interactive Gantt renders inline. Clients without widget support receive a clean SVG instead.
Daily standup
“What is the status of the project today? Anything overdue?”
The assistant combines the project summary and overdue work into a short natural-language update.
Resource reallocation
“Who has bandwidth this week? Reassign the API integration task to whoever is freest.”
The agent reviews members and assigned tasks, chooses the best available person, and updates the assignment.
Critical-path triage
“Show me everything on the critical path that is also overdue, and propose a reschedule.”
The agent intersects the critical path with overdue tasks and proposes new dates for the affected work.
FAQ
What is the GanttFather MCP server?
A Model Context Protocol endpoint that lets compatible AI assistants read, build, visualize and update your GanttFather project data through standard MCP tools.
Does one connection reach all my projects?
Yes. An account connection follows every project you own or collaborate on, including projects created later. Older project-scoped tokens continue to work.
Does this cost anything?
No. The MCP server is free for every GanttFather user, including the free tier, with no per-call or per-agent fee. The 60 requests-per-minute limit applies per token.
How does authentication work?
Use an OAuth connector when your client supports it, or create a bearer access token in Settings → AI Agents & API. Both can be read-only or read & write. The Gemini app connects by signing in only.
Can the agent show me the Gantt chart?
Yes. It can draw the interactive chart directly in supported conversations, or return a static SVG or mermaid timeline as a fallback.
Which AI clients can connect?
Any client that supports MCP over Streamable HTTP. That includes Claude, ChatGPT, the Gemini app, Cursor, Windsurf, VS Code, GitHub Copilot CLI, Codex, OpenCode, Gemini CLI, Antigravity, Claude Code and n8n, and scripts of your own. Each has its own steps on this page.
Gemini asks me for an OAuth client ID and secret. What do I enter?
First try with Advanced features left empty. If Gemini still asks, enter the client ID ganttfather and any word as the secret. GanttFather does not use a secret: you approve the connection when you sign in. Do not paste an access token there.
Can I connect more than one assistant?
Yes. Sign in from one, and give each of the others its own access token. GanttFather keeps one sign-in connection per person, so signing in from a second assistant ends the first one's. Access tokens you create are not affected. Claude, ChatGPT and the Gemini app can only sign in, so only one of those stays connected at a time.
Can I revoke access?
Yes. Revoke a connection from Settings → AI Agents & API at any time; subsequent calls are rejected immediately.
Does the agent show up to my team?
Yes. Connected agents appear in the member list and carry a distinct presence treatment while they are working.