Skip to content

MCP Tools

diegokoes edited this page Jul 5, 2026 · 1 revision

MCP Tools

The MCP server (packages/mcp) exposes 35 tools over the Model Context Protocol on stdio. It is vendor-neutral: any MCP client drives it. CLAUDE.md in the repo root is the operating manual the agent follows when using them; this page is the reference.

Tools return JSON. Errors are returned as tool errors (isError), not raw rejections. Read tools have no side effects; write tools persist or write back.

Core workflow

Tool Purpose
fetch_work_item Fetch and store a raw ticket/issue; returns the full conversation plus the auto-resolved customer.
get_context Fetch a ticket AND auto-search the archive for similar entries plus reference docs (one-shot consult).
search_knowledge Search prior entries by keyword/symptom/error code; filter by product, team, tags, component, cloud. May include deprecated entries (flagged).
save_knowledge_entry Persist a structured entry. Only after user approval.
update_knowledge_entry Patch fields or change status (optimistic locking via version); status: deprecated plus superseded_by marks outdated knowledge.
get_knowledge_entry / list_knowledge_entries Fetch one entry (with its version) / list and filter for review.
post_private_note Write a private note back to the source (Freshdesk only).
add_knowledge_feedback Record corrections/ratings/deprecations on an entry.
record_analysis_run Report token usage for audit.

Reference docs (freeform context)

Tool Purpose
ingest_context Load freeform context from pasted text, local paths, or URLs. Read-only; returns cleaned text for the agent to structure.
save_reference_doc Persist an approved freeform doc (chunked and embedded).
search_reference Semantic search over approved reference docs; best-matching snippet per doc.
list_reference_docs / get_reference_doc / update_reference_doc Browse / fetch full body / edit or archive.

Reference data (call before analyzing)

Tool Purpose
list_resolution_patterns / add_resolution_pattern The controlled resolution-pattern vocabulary; add only when the user asks.
list_environments The cloud slugs already in use, with counts. Reuse before inventing one.
list_components / add_component Per-product architecture glossary (slug plus aliases); ask the user before adding one discovered from a ticket.
list_labels / add_label Optional per-product advisory tag vocabulary.
list_customers / add_customer Known customers with aliases; ask before adding.
set_work_item_customer Correct the auto-matched customer on a work item.
set_observed_version Record which product version the ticket reports on.

Admin / org structure

Tool Purpose
list_teams / add_team Manage teams.
list_products / add_product Manage products under teams.
list_source_connections / add_source_connection Manage source integrations.
list_source_product_maps / add_source_product_map Map source groups to products.

Read vs. write classification

The server-side agent treats tools in two classes, which is also the safe default for any client:

  • Read (auto-run): all list_* / get_* / search_*, plus fetch_work_item and ingest_context.
  • Write (approval-gated): all save_* / update_* / add_* / set_*, plus post_private_note and record_analysis_run.

The canonical lists live in packages/agent/src/tools.ts (READ_TOOLS, WRITE_TOOLS).

Standalone MCP server

Run directly, outside the web app:

npm run mcp        # tsx packages/mcp/src/index.ts

It reads DATABASE_URL and source tokens from the environment, materializes the DB-backed redaction setting into env at boot, and attributes saves to TACHY_USER_EMAIL. This is the process that .mcp.json and .vscode/mcp.json register.

Clone this wiki locally