mcp-brasil开发者指南:如何从零接入第71个巴西政府API的完整步骤
【免费下载链接】mcp-brasilMCP Server para 70 APIs públicas brasileiras项目地址https://gitcode.com/gh_mirrors/mc/mcp-brasil点击查看免费下载mcp-brasil是一个面向巴西公共数据的 MCP Server已聚合 70 个巴西政府开放 API经济、立法、司法、选举、医疗等 15 大领域让 Claude、GPT 等 AI 助手用自然语言直接查询官方数据。得益于它的auto-registry自动注册机制接入第 71 个 API 不需要改任何现有文件——只需新建一个文件夹项目就会自动发现并挂载。本文带你从零走完全部 8 个步骤。为什么加一个API只需要新建一个文件夹mcp-brasil 的核心设计是Package by Feature按功能分包每个政府 API 都是 src/mcp_brasil/data/ 下一个自包含的文件夹。根服务器启动时会扫描所有子目录自动读取每个文件夹的元信息并挂载为命名空间详见 docs/concepts/architecture.md。这意味着零手动配置、零 import 修改。你唯一要做的就是按约定搭好 6 个文件。src/mcp_brasil/data/{你的feature}/ ├── __init__.py # FEATURE_META必填自动发现靠它 ├── server.py # mcp: FastMCP必填 ├── tools.py # AI 可调用的工具函数 ├── client.py # 异步 HTTP 请求层 ├── schemas.py # Pydantic 数据模型 └── constants.py # API 地址、枚举、固定代码依赖方向是单向的server.py → tools.py → client.py → schemas.py。tools.py永不发 HTTPclient.py永不做展示格式化各司其职。第0步一键安装开发环境需要Python 3.10和包管理器uv安装说明见 docs/guide/development.mdgit clone https://gitcode.com/gh_mirrors/mc/mcp-brasil cd mcp-brasil make dev # 安装生产 开发依赖完成后用make inspect查看当前已注册的 70 个 feature 清单给你的新 API 留好第 71 席的位置。第1步constants.py —— 定义 API 地址只放 API 基础 URL 和固定代码不 import 项目内任何模块# src/mcp_brasil/data/exemplo/constants.py EXEMPLO_API_BASE https://api.exemplo.gov.br/v1第2步schemas.py —— 描述 API 返回的数据用 Pydantic 定义模型只声明字段、不含任何逻辑class ItemExemplo(BaseModel): id: int nome: str valor: float Field(descriptionValor em reais)第3步client.py —— 唯一的 HTTP 出口所有请求都走共享的 src/mcp_brasil/_shared/http_client.py 里的http_get/http_post自动获得429/5xx/超时的指数退避重试和限流保护无需自己写from mcp_brasil._shared.http_client import http_get async def buscar_items(termo: str | None None) - list[ItemExemplo]: data await http_get(f{EXEMPLO_API_BASE}/items, params{q: termo}) return [ItemExemplo(**item) for item in data]第4步tools.py —— 定义 AI 能调用的工具每个工具都是async def 完整类型注解 带Args:/Returns:的 docstringAI 靠 docstring 决定何时调用它。这里做展示格式化返回 Markdownasync def buscar_items(termo: str | None None) - str: Busca items na API de exemplo. Args: termo: Termo de busca (opcional) items await client.buscar_items(termotermo) return markdown_table(headers, rows)格式化函数markdown_table、format_brl等都在 src/mcp_brasil/_shared/formatting.py 里直接复用即可。第5步server.py 和init.py —— 让自动发现生效server.py只负责注册工具零业务逻辑注意 resource 的 URI不要包含 feature 名mount()会自动加前缀mcp FastMCP(exemplo) mcp.tool(tools.buscar_items)__init__.py导出FEATURE_META这是自动发现的关键完整字段说明见 docs/guide/adding-features.mdFEATURE_META FeatureMeta( nameexemplo, descriptionAPI de Exemplo — dados de demonstracao, version0.1.0, api_basehttps://api.exemplo.gov.br/v1, requires_authFalse, tags[economia, dados], ) 若 API 需要密钥设requires_authTrue并填auth_env_var启动时未配置该环境变量feature 会被静默跳过而不报错。第6步为第71个API写三层测试测试目录与源码镜像参照现有 feature如 tests/data/ibge/测试文件验证内容test_tools.pymock 掉 client验证业务逻辑与格式化test_client.py用respxmock HTTP验证请求与解析test_integration.py通过fastmcp.Client走完整 MCP 协议第7步运行验证确认自动挂载make test-feature Fexemplo # 只跑你的 feature make ci # lint 严格类型检查 全部测试 make inspect # 确认第71个 feature 已出现在注册表三项全绿就大功告成 —— 服务器会在下次启动时自动发现exemplo目录工具名自动带上exemplo_前缀没有任何一行现有代码需要改动。提交前自查清单__init__.py已导出FEATURE_METAserver.py已导出mcp: FastMCP所有 tools 都有 docstring且全部是async def 完整类型注解client.py返回 Pydantic 模型schemas.py零逻辑constants.py零项目内 import三层测试齐全make ci全绿commit 遵循 Conventional Commits如feat(exemplo): add buscar_items tool更多细节可查 docs/guide/adding-features.md、docs/reference/features.md 的 70 个 feature 全目录以及 docs/guide/development.md 的 CI 与发布流程。祝你的第 71 个巴西 API 顺利上线赞分享【免费下载链接】mcp-brasilMCP Server para 70 APIs públicas brasileiras项目地址https://gitcode.com/gh_mirrors/mc/mcp-brasil点击查看免费下载相关推荐革命性MCP服务器mcp-brasil一个Server打通70个巴西政府数据API533个Tools即装即用革命性MCP服务器mcp brasil一个Server打通70个巴西政府数据API533个Tools即装即用 mcp brasil 是一个开源 MCP Se快速连接70个巴西政府数据APImcp-brasil 记者、审计师与研究员的AI秒查指南快速连接70个巴西政府数据APImcp brasil 记者、审计师与研究员的AI秒查指南 mcp brasil 是一个开源 MCPModel Context无线安全终极实战hcxdumptool深度解析与高效WiFi嗅探指南无线安全终极实战hcxdumptool深度解析与高效WiFi嗅探指南 hcxdumptool作为一款专业的无线网络安全检测工具专为捕获和分析WLAN设备数据网络安全创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考