Taskade Genesis exposes a Model Context Protocol server that Claude Desktop, Cursor, Inkeep, LangGraph, and any MCP client can call as a tool against your Taskade workspaces, projects, agents, and automations.
https://www.taskade.com/mcpOAuth 2.0 (PKCE) - see /.well-known/oauth-protected-resource/mcp for discovery metadata. Available on every paid Taskade plan.
Paste this into an IDE client (Claude Desktop's claude_desktop_config.json, Cursor, Claude Code, Windsurf, or Zed). Those clients open a browser and complete OAuth. Do not paste this into Inkeep or LangGraph: those runtimes need a Bearer token, see below.
{
"mcpServers": {
"taskade": {
"type": "http",
"url": "https://www.taskade.com/mcp"
}
}
}This is the distribution path. An Inkeep, LangGraph, or Claude agent calls Taskade the same way it calls any other MCP server. The URL is the one above. Auth is the part that differs from the IDE snippet.
In the Visual Builder: New MCP server, URL https://www.taskade.com/mcp, transport Streamable HTTP, then OAuth Click to Login. That flow matches the hosted server. In the TypeScript SDK, headless agents cannot open a browser, so register mcpTool with a Bearer credential whose value is a token from Settings > API:
import { mcpTool, credential } from "@inkeep/agents-sdk";
import { CredentialStoreType } from "@inkeep/agents-core";
const taskadeCredential = credential({
id: "taskade-credential",
name: "Taskade MCP",
type: CredentialStoreType.memory,
credentialStoreId: "memory-default",
retrievalParams: { key: "TASKADE_API_TOKEN" },
});
export const taskade = mcpTool({
id: "taskade",
name: "taskade",
description: "Taskade workspaces, agents, and automations",
serverUrl: "https://www.taskade.com/mcp",
credential: taskadeCredential,
});To talk to one published agent, call prompt_agent with that agent's agentId and spaceId (both are on the agent Embed tab).
langchain.mcp.MCPAdapter (LangChain 1.4+) reaches the hosted URL over Streamable HTTP. Mint a tskdp_ token on Settings > API and keep it out of source:
import asyncio
import os
from fastmcp.client import Client
from fastmcp.client.transports import StreamableHttpTransport
from langchain.mcp import MCPAdapter
async def main():
transport = StreamableHttpTransport(
"https://www.taskade.com/mcp",
headers={"Authorization": f"Bearer {os.environ['TASKADE_API_TOKEN']}"},
)
async with MCPAdapter(Client(transport)) as adapter:
return await adapter.list_tools()
if __name__ == "__main__":
asyncio.run(main())Then pass list_tools() into your graph. Same prompt_agent ids as Inkeep if you want a specific agent rather than the whole workspace.
MCP server access is included on every paid Taskade plan - Starter, Pro, Business, Max, and Enterprise, the mobile equivalents, and legacy paid and lifetime tiers. It is the one switch the free plan does not carry. Connect with your Taskade account once and your plan entitlements travel with the OAuth token.
MCP clients authenticate via OAuth 2.0 with PKCE. Discovery metadata is published at:
https://www.taskade.com/.well-known/oauth-protected-resource/mcpToken endpoint, dynamic client registration, and authorization server metadata follow RFC 9728 and RFC 8414.