{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_5z5n6n6ys5sp","handle":"socratic-mcp","url":"https://wellknown.network/agents/socratic-mcp","links":{"self":"https://wellknown.network/agents/socratic-mcp/record.json","html":"https://wellknown.network/agents/socratic-mcp","markdown":"https://wellknown.network/agents/socratic-mcp/record.md","api":"https://wellknown.network/api/v1/agents/socratic-mcp","status":"https://wellknown.network/api/v1/agents/socratic-mcp/status","claim":"https://wellknown.network/agents/socratic-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/socratic-mcp/claim.json","badge":"https://wellknown.network/agents/socratic-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/socratic-mcp/history","tools":"https://wellknown.network/api/v1/agents/socratic-mcp/tools"},"ard":{"identifier":"urn:air::server:socratic-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"socratic-mcp","summary":"MCP server exposing a Socratic sidecar (kb_search, chapters, review) to any agent host","description":"# socratic-mcp \n \n把 Socratic sidecar 包成 **MCP server**：任何支持 MCP 的 agent host（DSH、Claude Desktop、Cursor…）都能直接调用，不需要为每个 host 写插件。 \n \n```bash \nSOCRATIC_SIDECAR_URL=http://127.0.0.1:8765 python -m socratic_mcp.server \n``` \n \n## 工具 \n \n| 工具 | 作用 | \n|---|---| \n| `kb_search` | 检索；返回 citation 与页图 URL；可带 `book`+`chapter` 收窄到章回 | \n| `kb_read` | 按 chunk_id 读取 | \n| `chapter_lookup` | 「卷3」「第7回」或标题片段 → 页码范围与页图；给 `page` 则反查所在章回 | \n| `review_session` | 复盘一个教学会话 | \n| `socratic_state` | 读教学状态机 | \n| `socratic_health` | sidecar 是否可达 + 索引统计 | \n \n## 前置：一个符合契约的数据库 \n \nsidecar 读的库不属于本仓库，需按 \n[`docs/RAG-DB-SCHEMA.md`](https://github.com/Icefox12138/socratic-tutor/blob/main/docs/RAG-DB-SCHEMA.md) \n自行构建（或取得）。没有库时服务仍能启动，`/health` 返回 \n`{\"ok\": false, \"reason\": \"no_index\"}`，工具会得到 `no_index` 而不是崩掉。 \n \n## 配置 \n \n| 环境变量 | 默认 | 说明 | \n|---|---|---| \n| `SOCRATIC_SIDECAR_URL` | `http://127.0.0.1:8765` | sidecar 地址 | \n| `SOCRATIC_TOKEN` | 空 | 非空时以 `Authorization: Bearer` 发送 | \n \nsidecar 未启动时，工具返回 `{\"error\":\"sidecar_unreachable\",...}` 且 `isError: true`，连接不断。 \n \n## 挂到 DSH \n \n`~/.dsh/dsh-mcp-plus/servers.json` 加一条： \n \n```json \n{ \n  \"mcpServers\": { \n    \"socratic\": { \n      \"command\": \"python\", \n      \"args\": [\"-m\", \"socratic_mcp.server\"], \n      \"env\": { \"SOCRATIC_SIDECAR_URL\": \"http://127.0.0.1:8765\" } \n    } \n  } \n} \n``` \n \n## 协议实现范围 \n \n`initialize`、`ping`、`tools/list`、`tools/call`，stdio + newline-delimited JSON-RPC 2.0。没有 SDK 依赖（6 条测试，含一次真实 stdio 往返）。","publisher":{"name":"socratic-tutor contributors","url":null},"homepage":"https://github.com/Icefox12138/socratic-tutor/tree/main/packages/socratic-mcp","repository":"https://github.com/Icefox12138/socratic-tutor/tree/main/packages/socratic-mcp","version":"0.1.2","license":"MIT","protocols":["mcp"],"tags":["mcp","model-context-protocol","rag","citations","tutor"],"pricing":null,"endpoints":[{"url":"pypi:socratic-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"data.vector-search","name":"Vector Search","confidence":1,"provenance":"declared"},{"slug":"research.academic","name":"Academic Research","confidence":1,"provenance":"declared"}],"categories":["data","research"],"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":"socratic-mcp","registry":"pypi","observedAt":"2026-11-05T22:26:32.211Z","publishedAt":"2026-11-04T08:16:00.900175Z","latestVersion":"0.1.2"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"socratic-mcp","url":"https://pypi.org/project/socratic-mcp/","firstSeenAt":"2026-11-05T22:25:35.658Z","fetchedAt":"2026-11-05T22:25:35.658Z","normalizedAt":"2026-11-05T22:25:35.658Z"}]},"firstSeenAt":"2026-11-05T22:25:35.658Z","updatedAt":"2026-11-05T22:26:32.211Z"}