{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_bc6yz7r5fafx","handle":"grp-kb-mcp","url":"https://wellknown.network/agents/grp-kb-mcp","links":{"self":"https://wellknown.network/agents/grp-kb-mcp/record.json","html":"https://wellknown.network/agents/grp-kb-mcp","markdown":"https://wellknown.network/agents/grp-kb-mcp/record.md","api":"https://wellknown.network/api/v1/agents/grp-kb-mcp","status":"https://wellknown.network/api/v1/agents/grp-kb-mcp/status","claim":"https://wellknown.network/agents/grp-kb-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/grp-kb-mcp/claim.json","badge":"https://wellknown.network/agents/grp-kb-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/grp-kb-mcp/history","tools":"https://wellknown.network/api/v1/agents/grp-kb-mcp/tools"},"ard":{"identifier":"urn:air::server:grp-kb-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"grp-kb-mcp","summary":"Semantic search MCP server for an Acumatica KB Obsidian vault (Smart Connections embeddings)","description":"# grp-kb-mcp \n \nSemantic search MCP server for the Acumatica KB Obsidian vault.   \nReuses the embeddings already computed by the Smart Connections plugin (`TaylorAI/bge-micro-v2`, 384-dim). \n \nPublished as `grp-kb-mcp` on PyPI (the import package stays `kb_mcp`). Note: unlike a \nturnkey library, this still requires an Obsidian vault with Smart Connections embeddings \nalready computed — installing from PyPI saves you the `git clone` + editable-install step, \nnot the vault/index setup below. \n \n## Tools \n \n| Tool | What it does | \n|------|-------------| \n| `search_kb(query, top_k, source_only, guide_filter)` | Semantic search — embed query, cosine-search ~89k vectors, return top results with snippet | \n| `read_kb_file(path)` | Read full content of a KB file by relative path | \n \n## Setup \n \n### 1. Install \n \n```bash \ncd path\\to\\kb-mcp \npython -m venv .venv \n.venv\\Scripts\\activate \npip install -e . \n``` \n \n### 2. Build the index (run once, ~2 min) \n \n```bash \n# with .venv active, from the kb-mcp folder: \nset KB_VAULT_DIR=path\\to\\Acumatica-KB \npython -m kb_mcp.build_index \n``` \n \nThis creates `kb_index.npy` and `kb_meta.json` inside `src\\kb_mcp\\`.   \nRe-run only if you add new notes to the vault (and re-index in Obsidian Smart Connections first). \n \n#### Multiple vaults \n \nThe index can ingest extra Smart Connections vaults alongside the primary one via \n`KB_EXTRA_VAULTS` — a `;`-separated list of `LABEL=PATH` pairs. Each extra vault's \nrecords get `guide=LABEL` (so `search_kb(..., guide_filter=\"GRP\")` isolates them) \nand an absolute `vault_root` baked into the metadata, so **the server needs no extra \nenv** — it reads those files from the baked-in root. Records under `copilot/` are \nskipped as plugin cruft. \n \n```powershell \n$env:KB_VAULT_DIR    = \"C:\\...\\Acumatica-KB\" \n$env:KB_EXTRA_VAULTS = \"GRP=C:\\...\\GRPUserManuals-Markdown\" \npython -m kb_mcp.build_index \n``` \n \nOr just run `.\\rebuild.ps1` (has both vault paths baked in). **Restart the kb-mcp \nserver afterward** —…","publisher":{"name":"Arvindh","url":null},"homepage":null,"repository":null,"version":"0.1.2","license":"MIT","protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:grp-kb-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"data.vector-search","name":"Vector Search","confidence":1,"provenance":"derived"},{"slug":"productivity.notes","name":"Notes & Docs","confidence":0.791,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.768,"provenance":"derived"}],"categories":["data","dev","productivity"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"grp-kb-mcp","registry":"pypi","observedAt":"2026-11-09T06:27:49.769Z","publishedAt":"2026-07-14T06:08:25.165824Z","latestVersion":"0.1.2"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"grp-kb-mcp","url":"https://pypi.org/project/grp-kb-mcp/","firstSeenAt":"2026-09-09T16:25:04.292Z","fetchedAt":"2026-11-09T06:26:26.680Z","normalizedAt":"2026-11-09T06:26:26.680Z"}]},"firstSeenAt":"2026-09-09T16:25:04.292Z","updatedAt":"2026-11-09T06:27:49.769Z"}