[ mcp surface ]Streamable HTTP

Hydrant via MCP.

Hydrant's MCP server gives agents a direct path into the context graph: issues, decisions, notes, cycles, milestones, files, and execution bundles. Use it when the agent needs to gather context, update work state, or assemble a handoff before writing code.

MCP endpoint
https://hydrant.dev/mcp
Auth header
Authorization: Bearer hyd_sk_your-token-here
[ Install ]

Point each harness at the same surface.

Hosted clients use the public endpoint plus a bearer token. Local stdio clients run the repo MCP server with the token in HYDRANT_AUTH_TOKEN.

Claude Code setupHosted HTTP config for Claude Code.
{
  "mcpServers": {
    "hydrant": {
      "type": "http",
      "url": "https://hydrant.dev/mcp",
      "headers": {
        "Authorization": "Bearer hyd_sk_your-token-here"
      }
    }
  }
}
Codex setupRegister the local stdio server from this repo, then restart Codex.
bun run mcp:codex
codex mcp list
Cursor setupUse the hosted endpoint and the same bearer token.
{
  "mcpServers": {
    "hydrant": {
      "url": "https://hydrant.dev/mcp",
      "headers": {
        "Authorization": "Bearer hyd_sk_your-token-here"
      }
    }
  }
}
OpenCode setupUse a local stdio entry when the harness expects a command transport.
opencode mcp add hydrant \
  --env CONVEX_SITE_URL=https://your-deployment.convex.site \
  --env HYDRANT_AUTH_TOKEN=hyd_sk_your-token-here \
  -- bun run /absolute/path/to/hydrant/mcp/server.ts
[ Auth ]

Use revocable personal access tokens.

Every hosted MCP request carries a Hydrant PAT as a bearer credential. Tokens are scoped to the spaces the owner can access, can be bound to an agent identity, and can be revoked from token settings.

Mint

Create a token from /settings/tokens and copy it once.

Send

Attach it as `Authorization: Bearer hyd_sk_...`.

Revoke

Rotate leaked or stale credentials from token settings.

Rate limits are plan-bound. Use the pricing page for the public plan boundary, and keep long-running agents conservative about retries.

[ Tool catalogue ]

The active MCP tool set, grouped by domain.

Names below come from mcp/server.ts. This guide stays at category level; generated reference work can own exhaustive parameters later.

Spaces

4 tools
get_space
Fetch one workspace by slug or ID.
list_spaces
List workspaces available to the token.
create_space
Create a new workspace.
update_space
Update workspace metadata and settings.

Members

2 tools
list_members
List humans and agents in a space.
get_member
Fetch one member by ID.

Issues

9 tools
get_issue
Fetch one issue with optional context and history.
list_issues
Browse issues by space, status, type, priority, or readiness.
hydrate_issues
Batch-load issue details.
create_issue
Create an issue with title, scope, labels, and placement.
update_issue
Update issue fields.
ice_issue
Move an issue to the backlog icebox.
delete_issue
Soft-delete an issue.
get_issue_description_snapshot
Read an issue description version.
replace_issue_description
Replace a versioned issue description.

Comments

2 tools
list_comments
List comments for an issue, decision, or note.
create_comment
Add a comment with agent attribution.

Decisions

7 tools
get_decision
Fetch one decision.
get_decision_history
Read decision change history.
get_decision_propagation
Inspect linked decision impact.
list_decisions
Browse decisions in a space.
create_decision
Create a new decision record.
update_decision
Revise decision fields and relationships.
delete_decision
Soft-delete a decision.

Notes and folders

12 tools
get_note
Fetch one note.
list_notes
Browse notes in a space or folder.
create_note
Create a note.
update_note
Update note metadata or content.
move_note
Move a note between folders.
delete_note
Soft-delete a note.
list_folders
List note folders.
create_folder
Create a note folder.
rename_folder
Rename a folder.
move_folder
Move a folder.
delete_folder
Delete a folder.
restore_cascade
Restore a soft-deleted note/folder cascade.

Files

4 tools
generate_upload_url
Create a file upload URL.
save_file
Persist uploaded file metadata.
get_file_url
Resolve a stored file URL.
list_files
List files attached to workspace objects.

Search and bundles

5 tools
search
Search issues, decisions, and notes before creating duplicates.
get_bundle
Fetch a saved execution bundle.
list_bundles
List generated bundles.
preview_bundle
Preview assembled context before saving.
generate_bundle
Generate and save an execution brief.

Labels

5 tools
get_label
Fetch one label.
list_labels
List labels for a space.
create_label
Create a label.
update_label
Update label fields.
delete_label
Delete a label.

Cycles

7 tools
list_cycles
List planning cycles.
get_cycle
Fetch one cycle.
get_cycle_stats
Read cycle summary metrics.
get_cycle_issues
List issues in a cycle.
create_cycle
Create a cycle.
update_cycle
Update cycle fields.
delete_cycle
Delete a cycle.

Milestones

7 tools
get_milestone
Fetch one milestone.
list_milestones
List milestones in a space.
get_milestone_issues
List milestone issues.
create_milestone
Create a milestone.
update_milestone
Update milestone fields.
delete_milestone
Delete a milestone.
set_milestone_dependencies
Replace desired milestone dependency state.

Dependencies

2 tools
set_dependencies
Replace desired issue dependency state atomically.
update_dependency
Update an existing issue relation type.
Compatibility stubs
list_active_issues
Use list_issues({ activeOnly: true }) instead.
get_issue_context
Use get_issue({ include: ["context"] }) instead.
create_dependency
Use set_dependencies with the full desired state instead.
delete_dependency
Use set_dependencies with the full desired state instead.
create_milestone_dependency
Use set_milestone_dependencies instead.
delete_milestone_dependency
Use set_milestone_dependencies instead.
[ Patterns ]

Four calls agents should learn first.

These are the habits that keep agent work grounded: fetch context, write desired state, search before creating, and bundle review context.

Plan before you code

Fetch the issue with linked context before proposing a plan or touching the repo.

Plan before you code snippet
mcp__hydrant__get_issue({
  "identifier": "HYD-455",
  "include": ["context"]
})

Wire dependencies in one call

Send the full desired state for each direction so Hydrant can compute the diff safely.

Wire dependencies in one call snippet
mcp__hydrant__set_dependencies({
  "issueId": "kh790e6dggcvbb1mgkgynegct585jg6r",
  "blockedBy": ["kh72rw70zwf20m2ccjjp2618w185jwpq"],
  "blocks": ["kh7dptvc2cw8djh2adb44a5tvd85kaha"],
  "relatesTo": []
})

Search before creating

Search the space first so the agent extends existing context instead of making duplicates.

Search before creating snippet
mcp__hydrant__search({
  "spaceId": "m975tfqk69zcf8aycmvkz8mqqh84apd7",
  "entityType": "issue",
  "query": "MCP install docs"
})

Bundle context for review

Generate one execution brief from selected issues, decisions, and notes before review.

Bundle context for review snippet
mcp__hydrant__generate_bundle({
  "spaceId": "m975tfqk69zcf8aycmvkz8mqqh84apd7",
  "title": "MCP surface implementation brief",
  "issueIds": ["kh790e6dggcvbb1mgkgynegct585jg6r"],
  "decisionIds": [],
  "noteIds": []
})
[ Where next ]

Stable docs links for the current build.

Concept and per-agent docs are tracked in sibling issues. Until those land, this page only links to routes that exist today.

Get a personal access token