模型协议分析工具

一个用于分析、实现和记录模型上下文协议(MCP)规范及其相关技术的开发工具库,包含文档生成、代码实现和版本跟踪功能。

  • by chris-page-gov
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 chris-page-gov/mcp-analysis

使用说明

MCP分析库

该存储库捕获了模型上下文协议(MCP)规范的演变, 实施、批评和相邻技术。它将深度研究成果配对 (包括Word文档),使用Python和TypeScript中的可复制工具。

开发容器确保贡献者使用相同的堆栈 紫外线 用于Python依赖管理和 pnpm 为了 Node/TypeScript工具。

入门指南

  1. 在开发人员容器中打开(推荐)

    • 安装Dev Containers扩展并在容器中重新打开此文件夹。
    • 启动脚本安装uv,配置 pnpm,将Python依赖项同步到 .venv,安装Node-dev依赖项,并配置Pandoc/XeLaTeX(包括 texlive-lang-cjk)用于文档导出。
  2. 本地设置(可选)

    • 安装Python 3.11+、uv、Node.js 20+和pnpm 8+。
    • 跑 uv sync 创造 .venv 并安装Python工具。
    • 跑 pnpm install 安装TypeScript依赖项。
  3. 验证

    • Python lint: uv run ruff check .
    • TypeScript lint: pnpm lint

仓库的规划

  • docs/ --主要文件资产。
    • prompts/ --生成研究或报告的提示。
    • research/ --原始笔记、面试记录和原始材料。
    • reports/ --已发布的可交付成果,包括Word文档(.docx).
    • implementations/ --MCP实施的好与坏的案例研究。
    • spec/ --规格变更日志、带注释的读数和交叉引用。
    • alternatives/ --与MCP竞争或互补的技术。
    • templates/ --提示、报告和更改日志的模板。
    • timeline/ --MCP生态系统的时序叙述。
  • scripts/python/ --用Python编写的自动化。
  • scripts/typescript/ --用于数据处理或工具的TypeScript脚本。
  • external/ --上游工作副本/子模块,例如:
    • external/mcp-spec --规范MCP规范仓库(包括2025年11月的模式: external/mcp-spec/schema/2025-11-25/).
    • external/ext-apps --MCP应用程序/UI扩展仓库。
    • external/agentskills --agentskills规范仓库。
    • external/anthropic-skills --人类学技能库。
    • external/govuk-mcp --在中评估的示例服务器实现 docs/implementations/good/govuk-mcp/.

代理技能(VS代码复制人聊天)

此仓库尝试使用VS Code Copilot Chat 代理技能 (指令+资源Copilot可以按需加载)。

  • 设置、故障排除(工作区信任/权限)和上游技能索引: docs/skills.md.
  • 本地技能主页(存储在此仓库中的技能): .github/skills/README.md.

快速入门(在当地尝试一项上游技能):

git submodule update --init --recursive
mkdir -p .github/skills/pdf
rsync -a --delete external/anthropic-skills/skills/pdf/ .github/skills/pdf/

捕获Word文档

放置源 .docx 文件下 docs/reports/.包括配套的Markdown摘要 描述:

  • 文件的背景和范围。
  • 使用的数据来源和提示。
  • 关键结论或见解。

在中使用提示模板 docs/templates/prompt-template.md 跟踪以下输入 生成了研究成果。

通过以下方式自动生成Markdown、LaTeX和PDF:

uv run scripts/python/docx_export.py docs/reports/source.docx --pdf

输出与DOCX并排放置,并采用所需的 IRI- 前缀。

跟踪上游MCP规范

已发布的规范版本为https://modelcontextprotocol.io/specification.

根据工作流程,您有几个选项:

  • Git子模块

    • 更新为 git submodule update --remote.
    • 总结或差异属于 docs/spec/.
  • 快照脚本

    • 使用 scripts/python/fetch_mcp_spec.py 克隆或刷新本地副本(可选) 查看特定参考。
  • 问题参考

    • 引用上游更改时,链接到标记的发布或特定的拉取请求 因此,上下文保持持久。

记录中的每次同步或显著更改 docs/spec/change-log.md (请参阅中的模板 docs/templates).

工具

Python(uv)

  • 依赖关系在中声明 pyproject.toml 并安装了 uv sync.
  • 通过以下方式运行Python实用程序 uv run例如。 uv run scripts/python/fetch_mcp_spec.py --help.
  • 棉绒用途 ruff;类型检查用途 mypy.

TypeScript(pnpm)

  • 项目元数据和脚本位于 package.json.
  • tsconfig.json 目标为ES2022模块,输出为 dist/.
  • 棉绒用途 eslint 随着 @typescript-eslint;格式化用途 prettier.

持续集成

.github/workflows/ci.yml 安装依赖项并使用uv和执行lint/typecheck任务 pnpm。

贡献

  1. 打开一个描述文档或工具更改的问题。
  2. 在开发容器中工作,或确保与固定工具版本的本地对等。
  3. 更新下的相关文档 docs/ 并保持提示同步。
  4. 跑 pnpm lint 和 uv run ruff check . 在打开pull请求之前。

发布流程

此仓库使用git标签进行轻量级发布。

# verify
uv run ruff check .
uv run mypy scripts/python
pnpm lint
pnpm typecheck

# bump versions + changelog, then
git add -A
git commit -m "Release vX.Y.Z"
git tag -a vX.Y.Z -m "vX.Y.Z"
git push origin main
git push origin vX.Y.Z

后续步骤

  • 在下添加新报告 docs/reports/ 并创建匹配的Markdown摘要。
  • 同步 external/mcp-spec (子模块或脚本)并记录更改 docs/spec/change-log.md.