{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_xyvpz67bht2m","handle":"symvanta","url":"https://wellknown.network/agents/symvanta","links":{"self":"https://wellknown.network/agents/symvanta/record.json","html":"https://wellknown.network/agents/symvanta","markdown":"https://wellknown.network/agents/symvanta/record.md","api":"https://wellknown.network/api/v1/agents/symvanta","status":"https://wellknown.network/api/v1/agents/symvanta/status","claim":"https://wellknown.network/agents/symvanta/claim","claimApi":"https://wellknown.network/api/v1/claims","badge":"https://wellknown.network/agents/symvanta/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:mcp.symvanta.com:server:symvanta","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Symvanta","summary":"Hosted code graph over MCP: exact callers, dependencies, and cross-repo blast radius for AI agents.","description":"Hosted code graph over MCP: exact callers, dependencies, and cross-repo blast radius for AI agents.","publisher":{"name":"com.symvanta","url":null},"homepage":"https://symvanta.com","repository":"https://github.com/Symvanta/claude-plugin","version":"1.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.symvanta.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-04T12:09:43.068756Z","publishedAt":"2026-09-04T12:09:43.068756Z","registryName":"com.symvanta/code-graph"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.version-control","name":"Version Control","confidence":1,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":1,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":1,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":0.859,"provenance":"derived"},{"slug":"research.academic","name":"Academic Research","confidence":0.54,"provenance":"derived"},{"slug":"research.web","name":"Deep Web Research","confidence":0.54,"provenance":"derived"},{"slug":"ai.agent-discovery","name":"Agent Discovery","confidence":0.54,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"}],"categories":["ai","commerce","dev","knowledge","research"]},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-09-05T23:29:01.129Z","lastProbedAt":"2026-09-05T23:29:01.129Z","statusComputedAt":"2026-09-05T23:29:18.507Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":70},"latestObservations":[{"at":"2026-09-05T23:29:01.129Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":70,"error":null,"detail":{"tools":[{"name":"init","description":"Call first. Returns the active project, repositories, and index health in one call, plus a `usage` field (decision matrix + routing). Non-empty repositories = p"},{"name":"locate","description":"Search/lookup. Pick a mode, or omit with a bare query to AUTO-ROUTE (text, then semantic on empty; response carries answered_by). Modes:\n- text (replaces grep):"},{"name":"relate","description":"Graph relationship traversal via one kind (real edges, not text). Kinds (1-10 symbols; heritage/chain one):\n- callers: direct callers. granularity:'file' (defau"},{"name":"source","description":"Raw file/git access at the indexed commit, for cloud agents with no clone; with a clone prefer your own Read/Grep/git. Ops:\n- read: content of filePath, whole f"},{"name":"history","description":"Indexed commit history. Ops:\n- commits: recent commits (metadata + file list); <=200/call, default 50. With a clone prefer git log.\n- commit: one commit by sha "},{"name":"library","description":"Library catalog lookups. Ops:\n- packages: list indexed npm packages (specifier, ecosystem, owner/name, indexed-at, sha). Tenant-scoped, no projectId.\n- version:"},{"name":"ref","description":"Session-scoped branch / working-tree overlay. Ops:\n- use: pin a repository's reads to a branch (latest indexed revision). Branch must be tracked+indexed (open a"},{"name":"adr","description":"Architecture decision records: the WHY behind code, anchored to a symbol/file/project. Survive reindexes; find_node attaches a node's decisions. Ops:\n- record: "},{"name":"diff_impact","description":"Impact of a diff between two indexed revisions of one repo (base..head): changed files + symbols, union blast radius (layers + cross-repo fallout), affected end"},{"name":"estimate_scope","description":"Pre-flight estimate before graph traversal: coarse count of files a task likely touches and whether it spans layers (common/browser/node/electron-main/...) or r"},{"name":"list_projects","description":"List all projects with indexing summaries. Find a project by name or check which exist."},{"name":"list_repositories","description":"List repositories in a project. Find repository names to scope a query to one repo."},{"name":"list_file_symbols","description":"List symbols in one file (name + kind + line bounds). Step 1 of the two-step read: get line bounds, then pass startLine/endLine to source (op:read) for that sli"},{"name":"map","description":"Token-efficient repo (or subtree) skeleton: directory tree with each file's classes (methods in parens), functions, and HTTP endpoints, from the graph. Orient b"},{"name":"list_tests_for","description":"Test suites and cases whose suite name matches a symbol name (case-insensitive substring). Call before adding tests to see existing coverage and mirror its shap"},{"name":"quick_lookup","description":"Fast substring lookup of symbol DEFINITIONS by name: rows {name, kind, filePath, startLine, repositoryName} (displayName only when distinct from name), no ranki"},{"name":"freshness","description":"Returns lastIndexedSha, lastIndexedAt, and the current remote HEAD sha for a repository: detect index drift from remote. Reports what Symvanta knows, not local "},{"name":"index_health","description":"Per-project index health. pendingLibraryVersions: cross-repo specifiers still indexing (an empty result may mean \"not indexed yet\", not \"not in code\"); call whe"},{"name":"find_http_route","description":"Resolve an HTTP route by path + optional method to endpoint + handler (filePath + line bounds). Use instead of grep/locate for URL paths: follows framework rout"},{"name":"find_node","description":"Resolve 1-10 symbols to filePath + line bounds + signature. selectors: array keyed by symbol (bare name) / symbolPath / filePath / nodeId; a flat query/name/sin"},{"name":"ask_codebase","description":"Synthesis Q&A for behavior/architecture questions: answer + citations in one call. HEAVY (~2-4 s, ~3-5 k tokens): prefer context, find_node, or locate when they"},{"name":"add_repository","description":"Attach a public GitHub repository to the active project (owner + repo_name; clone URL derived). Idempotent. First attach dispatches an indexing job; response ca"},{"name":"reindex_repository","description":"Dispatch a reindex job for an already-attached repository (repositoryId from list_repositories / add_repository). Optional commit_sha pin. force:true re-applies"},{"name":"context","description":"First-touch task orientation. Pass a natural-language task; returns the top 5 relevant files with their symbols and best-matching snippets in one call (~1-1.5k "},{"name":"bundle","description":"Run up to 10 independent tool calls in parallel in one round-trip. Calls share the bundle-level project/repository scope unless a call sets its own args.reposit"}],"toolCount":25,"serverName":"symvanta-v1","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"init","description":"Call first. Returns the active project, repositories, and index health in one call, plus a `usage` field (decision matrix + routing). Non-empty repositories = p"},{"name":"locate","description":"Search/lookup. Pick a mode, or omit with a bare query to AUTO-ROUTE (text, then semantic on empty; response carries answered_by). Modes:\n- text (replaces grep):"},{"name":"relate","description":"Graph relationship traversal via one kind (real edges, not text). Kinds (1-10 symbols; heritage/chain one):\n- callers: direct callers. granularity:'file' (defau"},{"name":"source","description":"Raw file/git access at the indexed commit, for cloud agents with no clone; with a clone prefer your own Read/Grep/git. Ops:\n- read: content of filePath, whole f"},{"name":"history","description":"Indexed commit history. Ops:\n- commits: recent commits (metadata + file list); <=200/call, default 50. With a clone prefer git log.\n- commit: one commit by sha "},{"name":"library","description":"Library catalog lookups. Ops:\n- packages: list indexed npm packages (specifier, ecosystem, owner/name, indexed-at, sha). Tenant-scoped, no projectId.\n- version:"},{"name":"ref","description":"Session-scoped branch / working-tree overlay. Ops:\n- use: pin a repository's reads to a branch (latest indexed revision). Branch must be tracked+indexed (open a"},{"name":"adr","description":"Architecture decision records: the WHY behind code, anchored to a symbol/file/project. Survive reindexes; find_node attaches a node's decisions. Ops:\n- record: "},{"name":"diff_impact","description":"Impact of a diff between two indexed revisions of one repo (base..head): changed files + symbols, union blast radius (layers + cross-repo fallout), affected end"},{"name":"estimate_scope","description":"Pre-flight estimate before graph traversal: coarse count of files a task likely touches and whether it spans layers (common/browser/node/electron-main/...) or r"},{"name":"list_projects","description":"List all projects with indexing summaries. Find a project by name or check which exist."},{"name":"list_repositories","description":"List repositories in a project. Find repository names to scope a query to one repo."},{"name":"list_file_symbols","description":"List symbols in one file (name + kind + line bounds). Step 1 of the two-step read: get line bounds, then pass startLine/endLine to source (op:read) for that sli"},{"name":"map","description":"Token-efficient repo (or subtree) skeleton: directory tree with each file's classes (methods in parens), functions, and HTTP endpoints, from the graph. Orient b"},{"name":"list_tests_for","description":"Test suites and cases whose suite name matches a symbol name (case-insensitive substring). Call before adding tests to see existing coverage and mirror its shap"},{"name":"quick_lookup","description":"Fast substring lookup of symbol DEFINITIONS by name: rows {name, kind, filePath, startLine, repositoryName} (displayName only when distinct from name), no ranki"},{"name":"freshness","description":"Returns lastIndexedSha, lastIndexedAt, and the current remote HEAD sha for a repository: detect index drift from remote. Reports what Symvanta knows, not local "},{"name":"index_health","description":"Per-project index health. pendingLibraryVersions: cross-repo specifiers still indexing (an empty result may mean \"not indexed yet\", not \"not in code\"); call whe"},{"name":"find_http_route","description":"Resolve an HTTP route by path + optional method to endpoint + handler (filePath + line bounds). Use instead of grep/locate for URL paths: follows framework rout"},{"name":"find_node","description":"Resolve 1-10 symbols to filePath + line bounds + signature. selectors: array keyed by symbol (bare name) / symbolPath / filePath / nodeId; a flat query/name/sin"},{"name":"ask_codebase","description":"Synthesis Q&A for behavior/architecture questions: answer + citations in one call. HEAVY (~2-4 s, ~3-5 k tokens): prefer context, find_node, or locate when they"},{"name":"add_repository","description":"Attach a public GitHub repository to the active project (owner + repo_name; clone URL derived). Idempotent. First attach dispatches an indexing job; response ca"},{"name":"reindex_repository","description":"Dispatch a reindex job for an already-attached repository (repositoryId from list_repositories / add_repository). Optional commit_sha pin. force:true re-applies"},{"name":"context","description":"First-touch task orientation. Pass a natural-language task; returns the top 5 relevant files with their symbols and best-matching snippets in one call (~1-1.5k "},{"name":"bundle","description":"Run up to 10 independent tool calls in parallel in one round-trip. Calls share the bundle-level project/repository scope unless a call sets its own args.reposit"}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.symvanta/code-graph","url":"https://registry.modelcontextprotocol.io/v0/servers/com.symvanta%2Fcode-graph","firstSeenAt":"2026-09-05T21:20:37.403Z","fetchedAt":"2026-09-05T21:20:37.403Z","normalizedAt":"2026-09-05T21:20:37.403Z"}]},"firstSeenAt":"2026-09-05T21:20:37.403Z","updatedAt":"2026-09-05T23:29:28.860Z"}