{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fjmka8ad9fg2","handle":"shrike-mcp-2","url":"https://wellknown.network/agents/shrike-mcp-2","links":{"self":"https://wellknown.network/agents/shrike-mcp-2/record.json","html":"https://wellknown.network/agents/shrike-mcp-2","markdown":"https://wellknown.network/agents/shrike-mcp-2/record.md","api":"https://wellknown.network/api/v1/agents/shrike-mcp-2","status":"https://wellknown.network/api/v1/agents/shrike-mcp-2/status","claim":"https://wellknown.network/agents/shrike-mcp-2/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/shrike-mcp-2/claim.json","badge":"https://wellknown.network/agents/shrike-mcp-2/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:shrike-mcp-2","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"shrike-mcp","summary":"MCP server for Anki collection management","description":"# Shrike\n\nSometimes you want to work on your Anki collection without opening Anki. That's what Shrike is for. It's a command-line client and an MCP server for your collection, so you can manage cards from a terminal or hand them to an LLM agent.\n\nShrike works directly on the collection's SQLite database, without using the Anki desktop app or relying on the AnkiConnect bridge. You get:\n\n- a `shrike` CLI to browse, create, edit, and delete notes and note types\n- an MCP server exposing the same operations to agents\n- semantic search over your notes, with embeddings computed locally\n\n## Requirements\n\n- Python 3.12 or newer\n- An Anki collection (a `collection.anki2` file)\n\n## Getting started\n\nInstall Shrike from PyPI:\n\n```bash\npipx install shrike-mcp   # or: pip install shrike-mcp\n```\n\nThe package is `shrike-mcp`; the command it installs is `shrike`.\n\nPoint Shrike at your collection and start the daemon:\n\n```bash\nshrike server start --collection ~/path/to/collection.anki2\n```\n\nThat starts a background daemon with your collection open. The other `shrike` commands talk to it, so they don't repeat `--collection`:\n\n```bash\nshrike info\nshrike note list --deck Default\n```\n\nAnd when you're done:\n\n```bash\nshrike server stop\n```\n\n## Semantic search\n\n`shrike note search` finds notes by meaning instead of keywords. It needs two things you supply yourself: a `llama-server` binary (from llama.cpp) to compute embeddings, and a GGUF embedding model for it to run.\n\nGet llama.cpp by building it or installing it from a package manager; you want the `llama-server` binary it provides. For the model, any GGUF embedding model works. A small one like [all-MiniLM-L6-v2](https://huggingface.co/second-state/All-MiniLM-L6-v2-Embedding-GGUF) is a good default: it runs on CPU and is plenty for finding related cards.\n\nStart Shrike with both:\n\n```bash\nshrike server start --collection ~/path/to/collection.anki2 \\\n  --llama-server ~/llama.cpp/build/bin/llama-server \\\n  --embedding-model ~/models/all-Mi…","publisher":null,"homepage":"https://github.com/lathrys-at/shrike","repository":"https://github.com/lathrys-at/shrike","version":"0.4.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:shrike-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.terminal","name":"Terminal & Shell","confidence":1,"provenance":"derived"},{"slug":"ai.model-access","name":"Model Access","confidence":0.905,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":0.894,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.802,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.768,"provenance":"derived"}],"categories":["ai","data","dev"],"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":"shrike-mcp","registry":"pypi","observedAt":"2026-09-10T12:23:26.837Z","publishedAt":"2026-06-07T00:08:28.483601Z","latestVersion":"0.4.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"shrike-mcp","url":"https://pypi.org/project/shrike-mcp/","firstSeenAt":"2026-09-10T12:22:00.972Z","fetchedAt":"2026-09-10T12:22:00.972Z","normalizedAt":"2026-09-10T12:22:00.972Z"}]},"firstSeenAt":"2026-09-10T12:22:00.972Z","updatedAt":"2026-09-10T12:23:26.837Z"}