Connecting an agent
Point any MCP client at the hosted endpoint and the three tools appear.
ContextPie serves each workspace's skills over its own hosted MCP endpoint. Connect once and your agent gains three tools it can call at runtime. The URL is workspace-specific — it ends in /w/{your-workspace}, so a connection only ever sees that workspace's skills. No SDK, no per-skill wiring.
Get your endpoint
Open the Connect screen and copy the MCP URL for the workspace you want to expose. It ends in your workspace slug:
https://mcp.contextpie.com/w/your-workspace
Add it to your MCP client, restart the client, and find_skills, get_skill, and get_skill_file will appear.
ContextPie uses the MCP streamable HTTP transport — configs use
"type": "http"(not SSE).
Pin a version tag (optional)
By default a connection serves each skill's current version. To pin a whole connection to a named version tag instead — say a prod release set — add a tag query parameter to the endpoint:
https://mcp.contextpie.com/w/your-workspace?tag=prod
The tag applies to the entire connection: every find_skills, get_skill, and get_skill_file call over it resolves to the version each skill tags prod. Skills that don't carry a prod tag aren't discoverable on that connection — so a deployed agent only ever sees the versions you've released, and discovery never surfaces something it can't load. Drop the parameter to serve current versions again.
Set it once in your client config and it holds for the life of the connection; no per-call arguments. The Connect screen has a version-tag dropdown that fills this into every snippet below for you.
Claude Code
Add it from the CLI:
claude mcp add --transport http contextpie https://mcp.contextpie.com/w/your-workspace
Or edit your config directly (.mcp.json in a project, or ~/.claude.json globally):
{
"mcpServers": {
"contextpie": {
"type": "http",
"url": "https://mcp.contextpie.com/w/your-workspace"
}
}
}
Cursor
Add an entry under mcpServers in ~/.cursor/mcp.json (Cursor connects to the remote URL over HTTP):
{
"mcpServers": {
"contextpie": {
"url": "https://mcp.contextpie.com/w/your-workspace"
}
}
}
VS Code (GitHub Copilot)
From the terminal:
code --add-mcp '{"name":"contextpie","type":"http","url":"https://mcp.contextpie.com/w/your-workspace"}'
Or add it to .vscode/mcp.json (note the top-level key is servers):
{
"servers": {
"contextpie": {
"type": "http",
"url": "https://mcp.contextpie.com/w/your-workspace"
}
}
}
Generic HTTP client
Any MCP-compatible client that speaks streamable HTTP can connect with the same URL:
{
"type": "http",
"name": "contextpie",
"url": "https://mcp.contextpie.com/w/your-workspace"
}
Teach your agent to use it
Adding the server makes the three tools available — it doesn't make your agent reach for them. Add a short rule to your agent's persistent instructions so it searches on its own instead of waiting to be asked:
## Using ContextPie skills
Skills for this project are served by the ContextPie MCP server ("contextpie").
Before starting a non-trivial task, call `find_skills` with a short description of
what you're about to do. If a result is relevant, load it with `get_skill` and
follow it — fetch any referenced files with `get_skill_file`. Prefer a matching
skill over improvising, and check proactively without being asked.
Where it goes depends on the client:
| Client | Instructions file |
|---|---|
| Claude Code | CLAUDE.md (project or ~/.claude/) |
| Cursor | .cursor/rules/contextpie.md |
| GitHub Copilot | .github/copilot-instructions.md |
| Windsurf | .windsurf/rules/contextpie.md |
| SDK clients | your agent's system prompt |
The Connect screen shows this same rule with the right file for your platform.
Confirm it's live
The Connect screen shows liveness as soon as the first request from your agent lands — your agent calling find_skills is enough to flip it to live. From that point on, every request becomes telemetry: see Analytics. "The query is the telemetry."
Next, learn how the tools work in MCP tools.