服务地图API工具

一个用于浏览团队、列出团队服务、按名称搜索服务、查看服务所有权以及探索服务依赖关系、技术债务和发布的API工具。

  • by service-atlas
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 service-atlas/mcp

使用说明

服务地图MCP服务器

目的

此MCP服务器公开了用于探索Service Atlas API的工具和资源:浏览团队、列出团队的服务、按名称搜索服务、查看哪些团队拥有服务,以及探索服务依赖关系、技术债务和发布。

能力

  • 指导人工智能如何使用工具/资源完成常见任务的提示

    • get_services
    • get_all_teams
    • get_services_by_team
    • find_service_by_name
    • find_which_team_owns_a_service
    • get_debt
    • get_releases
    • get_service_dependencies_and_dependents
    • get_service_risk
    • analyze_service_risk_and_impact
  • 工具

    • get_services(page) → GET /services (每页25条)
    • get_all_teams() → GET /teams (最多可自动分页200个结果)
    • get_services_by_team(team_id) → GET /teams/{team_id}/services
    • find_service_by_name(query) → GET /services/search?query={query}
    • get_teams_by_service(service_id) → GET /services/{service_id}/teams
    • get_debt() → GET /reports/services/debt
    • get_debts_for_service(service_id) → GET /services/{service_id}/debt
    • create_debt(service_id, title, description, debt_type) → POST /services/{service_id}/debt
    • get_releases(start, end) → GET /releases/{start}/{end}
    • get_service_dependencies(service_id) → GET /services/{service_id}/dependencies
    • get_service_dependents(service_id) → GET /services/{service_id}/dependents
    • create_dependency(service_id, dependency_id, version) → POST /services/{service_id}/dependency
    • get_service_risk(service_id) → GET /reports/services/{service_id}/risk
    • get_service_types() → GET /services/types
    • create_service(name, description, service_type, url, tier) → POST /services
    • update_service(service_id, name, description, service_type, url, tier) → PUT /services/{service_id}
    • remove_dependency() → 指示用户使用web界面
    • get_version() → 返回MCP服务器版本
    • get_website() → 检索Service Atlas网站URL
  • 资源(MCP资源命名空间)

    • serviceatlas://teams → 所有团队
    • serviceatlas://services?page={page} → 分页服务
    • serviceatlas://teams/{team_id}/services → 团队服务
    • serviceatlas://services/search/{query} → 按名称搜索服务
    • serviceatlas://services/{service_id}/teams → 按服务划分的团队
    • serviceatlas://debts → 债务报告
    • serviceatlas://debts/{service_id} → 按服务分类的债务
    • serviceatlas://releases/{start}/{end} → 发布日期范围
    • serviceatlas://services/{service_id}/dependencies → 服务依赖关系
    • serviceatlas://services/{service_id}/dependents → 服务家属
    • serviceatlas://services/{service_id}/risk → 服务风险报告
    • serviceatlas://services/types → 服务类型

资源方案

资源使用 serviceatlas:// 方案,以便将请求专门路由到此服务器。

用例

每个用例都使用提示、工具和等效资源来实现。

  • 列出所有服务(分页)→ tool get_services 或资源 serviceatlas://services?page={page}
  • 列出所有团队→ tool get_all_teams 或资源 serviceatlas://teams
  • 列出属于某个团队的所有服务→ tool get_services_by_team 或资源 serviceatlas://teams/{team_id}/services
  • 按名称查找服务→ tool find_service_by_name 或资源 serviceatlas://services/search/{query}
  • 查找哪个团队拥有服务→ tool get_teams_by_service 或资源 serviceatlas://services/{service_id}/teams
  • 获取科技债务报告→ tool get_debt 或资源 serviceatlas://debts
  • 以服务换取技术债务→ tool get_debts_for_service 或资源 serviceatlas://debts/{service_id}
  • 创造技术债务→ tool create_debt
  • 获取某个日期范围内的发布→ tool get_releases 或资源 serviceatlas://releases/{start}/{end}
  • 获取服务依赖关系→ tool get_service_dependencies 或资源 serviceatlas://services/{service_id}/dependencies
  • 获取服务依赖者→ tool get_service_dependents 或资源 serviceatlas://services/{service_id}/dependents
  • 创建服务依赖关系→ tool create_dependency
  • 删除服务依赖关系→ tool remove_dependency
  • 获取服务风险报告→ tool get_service_risk 或资源 serviceatlas://services/{service_id}/risk. 此报告用于回答以下问题:“如果此服务更改或失败,会对系统产生多大影响?”它根据服务在依赖关系图中的位置提供启发式评分。
  • 列出服务类型→ tool get_service_types 或资源 serviceatlas://services/types
  • 创建新服务→ tool create_service
  • 更新现有服务→ tool update_service
  • 获取MCP版本→ tool get_version
  • 获取网站URL→ tool get_website

本地运行和测试

使用模型上下文协议检查器连接并测试此MCP服务器。

前提条件:已安装Node.js。

  1. 从项目根目录启动检查器:
npx @modelcontextprotocol/inspector
  1. 在Inspector UI中,添加一个新的服务器:
  • 命令: uv
  • Args: run src/mcp_server.py
  • 环境:
    • API_URL → 您的Service Atlas API的基本URL(例如。 http://localhost:8080)
  1. 从检查器连接到服务器,并尝试上面列出的工具/资源。

如果您运行本地Service Atlas API进行测试,请确保在您输入的URL处可以访问该API API_URL.

参考文献

  • MCP资源:https://modelcontextprotocol.io/specification/2025-06-18/server/resources
  • FastMCP文档:https://gofastmcp.com/getting-started/welcome