Skip to content

MCP resources, prompts, and playbooks

Frigg publishes machine-readable policy alongside its tools. Clients can inspect these resources to learn the running binary’s support, routing, evidence, and tool-surface contracts without hard-coding them.

URI Media type Contract
frigg://policy/support-matrix.json application/json frigg.policy.support_matrix.v4: language and retrieval support matrix.
frigg://policy/tool-surface.json application/json frigg.policy.tool_surface.v1: active profile, core/extended manifests, playbook availability, and authoritative source pointers.
frigg://policy/shell-replacement-map.json application/json frigg.policy.shell_replacement_map.v1: maps common shell search/read habits to Frigg tools.
frigg://policy/evidence-packet.json application/json frigg.policy.evidence_packet.v1: schema and template for claim-to-source evidence.
frigg://policy/semantic-models.json application/json frigg.policy.semantic_models.v1: curated semantic defaults and model contracts, not a live leaderboard.
frigg://guidance/shell-vs-frigg.md text/markdown Human-readable routing and shell fallback guidance for the active profile.
frigg://stats/routing application/json frigg.stats.routing.v1: optional process-local routing counters.

frigg://policy/evidence-packet.json is a schema/template, not an evidence-composition tool. It explicitly reports not_a_tool=true. Build claims from actual tool outputs and proof reads.

The shell replacement map is guidance, not an additional tool manifest. Always check tools/list before invoking a suggested tool.

Set FRIGG_ROUTING_STATS=1 before starting the MCP server to expose process-local counters through frigg://stats/routing and, where available, workspace.routing_stats.

The snapshot includes whether collection is enabled and counters such as tool calls, zero hits, issued recovery, handle failures, and workspace-gate uses. It is local process state, not cloud telemetry, and resets with the process.

Frigg exposes one prompt:

Name Argument Contract
frigg-routing-guide optional string task Returns routing guidance tied to support, semantic-model, tool-surface, shell-replacement, and shell-guidance resources.

Use it when a host supports MCP prompts and wants current task-oriented routing. The prompt does not execute tools.

Reading an unknown URI returns structured data.error_code=resource_not_found. Protocol-version mapping can change the outer JSON-RPC code, so client recovery should branch on data.error_code.

Playbook tools require both:

  1. a binary compiled with --features playbook; and
  2. FRIGG_MCP_TOOL_SURFACE_PROFILE=extended or its default resolution.

core hides them even when compiled in.

Accepts a playbook with playbook_id and ordered steps[]. Each step contains step_id, tool_name, and params. The result is a trace artifact with:

  • trace_schema
  • playbook_id
  • step_count
  • ordered step outcomes

An outcome is tagged ok with response_json or err with transport code, message, and optional structured error code.

Accepts the playbook and an expected_trace_artifact, executes it again, and returns matches, a structured diff, and the replayed artifact.

Accepts a trace artifact and optional answer text. It returns an answer schema with claims and citations. File citations include tool-call identity, tool name, repository, canonical path, and 1-based source span.

Citation composition uses successful source-bearing trace steps. Error steps and non-file workspace results do not become file citations. Playbook citations remain trace-derived evidence; they do not turn session handles into durable authority.

For normal answers, use evidence and citations with proof reads. Use playbooks only when deterministic trace replay or trace-derived citation payloads are an explicit requirement.

  • ../frigg/crates/cli/src/mcp/guidance.rs
  • ../frigg/crates/cli/src/mcp/routing_stats.rs
  • ../frigg/crates/cli/src/mcp/tool_surface.rs
  • ../frigg/crates/cli/src/mcp/types/playbook.rs
  • ../frigg/crates/cli/src/mcp/server/playbook.rs
  • ../frigg/crates/cli/tests/citation_payloads.rs
  • ../frigg/crates/cli/tests/rmcp_protocol.rs