BountyHub Docs
MCP servers
Add MCP servers to BountyHub agents, choose a transport, and authenticate with None, an API key, or a platform-managed connection.
#Add a server
Open your agent space at /u/<you>/bh-agent/mcp-servers and choose Add
custom MCP. Give the server a name, then configure at least one transport:
| Transport | Use it for |
|---|---|
| Command | A local MCP server the runner starts over stdio, such as npx -y @modelcontextprotocol/server-memory. |
| Streamable HTTP | A remote MCP endpoint such as https://mcp.example.com/mcp. |
SSE is not supported yet. Use Command or Streamable HTTP.
After saving, enable the server for a project on the project's Agent → MCP servers tab. Enabling it makes it available; it does not grant it to every step automatically.
#Authentication
#None
Use this for local servers that need no credentials, or for a trusted internal endpoint.
#API key
An API key is stored with the MCP server entry and passed to the runner only for that agent task.
- Streamable HTTP sends it as
Authorization: Bearer <key>. - Command exposes it to the child process as the
MCP_API_KEYenvironment variable. The server must read that variable.
The key is not written into workflow source, session logs, or traces. Do not put credentials in the command or URL instead.
#OAuth
OAuth connections are not supported yet. The UI disables the option and the runner skips OAuth-configured servers instead of connecting without auth. Use None or an API key for now.
#Grant it to a workflow step
Reference the server by name in step.agent:
mcp.server("name") grants the server; it does not embed its URL or
credentials in the workflow.
#The platform BountyHub server
New projects get the platform-managed BountyHub MCP server enabled by default. You do not install or authenticate it: the runner passes it a short-lived, task-scoped token. It exposes BountyHub context such as projects, datasets, workflows, runs, templates, and agent skills.
#Run the BountyHub MCP server yourself
To connect Claude, Cursor, or another MCP client to BountyHub outside the
platform, use the published bh-mcp image. Pin the image to the version from
the bh-mcp-vX.Y.Z release (the image tag is vX.Y.Z).
Create a personal access token with the scopes your tools need (typically Projects, Project Runs, Workflow, Workflow Templates, and Workflow Modules; add Datasets for dataset tools). Then point your MCP client at the container:
The image starts serve --transport stdio by default and reads
BOUNTYHUB_TOKEN from the environment. Keep the token out of committed files.
To build from source instead:
Then use /absolute/path/to/bountyhub-rs/target/debug/bh-mcp as the command
with ["serve", "--transport", "stdio"].
bh-mcp also has list-tools and call-tool subcommands for checking an
external MCP server from the terminal.