Skip to main content

MCP server

tiden-mcp-server starts a stdio Model Context Protocol server. MCP-capable clients can call Tiden through a tool interface instead of shelling out to individual CLI commands.

The MCP server is distributed from the public qase-tms/tiden-mcp-server repository.

Install​

Download a prebuilt binary from the latest GitHub release, or install from source:

go install github.com/qase-tms/tiden-mcp-server/cmd/tiden-mcp-server@latest

Start the server​

tiden-mcp-server

The server uses the same config resolution as the CLI:

  1. ~/.tiden/config.json (one entry per workspace) and the repository binding in .tiden/config.json
  2. TIDEN_* environment variables
  3. Flags such as --base-url, --api-token, --workspace-id, and --timeout

If you already ran tiden setup, the MCP server reads the same ~/.tiden/config.json and the repository binding of the directory it starts in. Upgrade tiden and tiden-mcp-server together — an older binary cannot read the current config file.

Stdout is reserved for the MCP protocol. Diagnostics go to stderr.

Register with Claude Code​

claude mcp add tiden -- tiden-mcp-server

Typical tools​

The MCP server exposes read operations and safe creates over the public API, including:

  • whoami
  • list_workspaces
  • list_products
  • list_specs
  • get_spec
  • create_spec
  • update_spec
  • list_tests
  • get_test
  • list_branches
  • create_branch
  • get_merge_preview
  • hold_intent
  • list_components
  • list_environments
  • list_releases
  • gate_check
  • get_verdict
  • get_overview
  • get_traceability
  • create_test
  • update_test
  • link_spec
  • list_issues
  • get_issue
  • list_issue_events
  • get_issue_event
  • get_issue_event_stats
  • get_issue_fix_context
  • list_release_issues
  • set_issue_status

Tool output is compact JSON matching the REST response shapes. In the API, a spec is the requirement resource, and the JSON keeps that name.

The spec tools were named list_requirements, get_requirement, create_requirement, update_requirement, and link_requirement before requirements were renamed to specs.

list_branches and get_merge_preview return an autoMerge object for intent branches: the state of the automatic merge, why it waits, when it merges, and any hold. hold_intent sets or releases that hold for a branch. It takes branch_id and reason, and either for (3d, 12h; default 7d) or until (an RFC 3339 timestamp), or clear=true to release. A hold an agent sets lasts at most 7 days; a person can hold an intent for up to 30 days. See Hold an automatic merge.

get_issue_fix_context returns the issue, its symbolicated stack frames, the repository files those frames implicate, where the error is happening by environment, and whether a test already covers the specs those files implement. Prefer it over calling get_issue, get_issue_event_stats, and the spec tools separately. See Triage issues with an agent.

Security​

The MCP server runs locally and uses your API token. Treat any MCP client with access to it as able to perform the exposed Tiden actions for that token.