使用说明
项目简介
OSSInsight MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它利用 OSSInsight.io 强大的数据分析能力,为大型语言模型 (LLM) 应用提供关于 GitHub 仓库、开发者和开源生态系统的深入洞察。通过此 MCP 服务器,LLM 客户端可以便捷地获取各种 GitHub 数据分析结果,例如仓库的 star 趋势、贡献者活动、开发者影响力分析等,从而更好地理解和利用开源信息。
主要功能点
- 仓库分析: 获取 GitHub 仓库的详细数据分析,包括但不限于 star 趋势、贡献者活跃度、代码提交统计等关键指标。
- 开发者分析: 深入了解 GitHub 开发者的贡献模式、活动历史以及在开源社区的影响力。
- 组织分析: 从全局视角审视 GitHub 组织,掌握其成员构成、仓库分布和整体活跃度。
- 项目集合浏览: 探索 OSSInsight 精心策划的开源项目集合,例如特定技术领域的项目列表。
- 自然语言查询: 通过自然语言与 OSSInsight 的数据分析能力进行交互,直接提问并获取答案。
安装步骤
由于该仓库提供了 Dockerfile 和 NPX 两种运行方式,用户可以根据自身环境选择合适的安装方式。无需手动构建代码,可以直接使用预构建的 Docker 镜像或通过 NPX 运行。
方法一:Docker 运行 (推荐)
- 安装 Docker: 确保您的系统已安装 Docker 和 Docker Compose。
- 无需构建,直接使用: 该仓库已提供 Dockerfile,但更推荐直接使用配置好的 Docker 镜像运行,无需额外构建步骤。
方法二:NPX 运行 (需要 Node.js 环境)
- 安装 Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm (或 yarn)。
- 全局安装 NPX (如果尚未安装): NPX 通常随 Node.js 一起安装,如果未安装,请运行 'npm install -g npx'。
服务器配置
MCP 客户端需要配置服务器的启动命令才能连接到 OSSInsight MCP Server。以下是 Docker 和 NPX 两种方式的 MCP 服务器配置 JSON 示例。
Docker 配置 (推荐):
{ "mcpServers": { "ossinsight": { "command": "docker", "args": [ "run", "--rm", "-i", "mcp/ossinsight" ] } } }
配置参数说明:
- '"ossinsight"': 服务器名称,客户端用以标识和调用。
- '"command": "docker"': 指定启动服务器的命令为 'docker'。
- '"args": [...]': 传递给 'docker run' 命令的参数列表。
- '"run"': Docker 运行命令。
- '"--rm"': 容器退出后自动删除。
- '"-i"': 保持 STDIN 打开,即使未连接。
- '"mcp/ossinsight"': Docker 镜像名称,即 'mcp/ossinsight'。
NPX 配置:
{ "mcpServers": { "ossinsight": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-ossinsight" ] } } }
配置参数说明:
- '"ossinsight"': 服务器名称,客户端用以标识和调用。
- '"command": "npx"': 指定启动服务器的命令为 'npx'。
- '"args": [...]': 传递给 'npx' 命令的参数列表。
- '"-y"': 自动确认所有提示。
- '"@modelcontextprotocol/server-ossinsight"': 要执行的 NPX 包名,即 '@modelcontextprotocol/server-ossinsight'。
选择配置方式: 推荐使用 Docker 配置,因为它更易于部署且环境隔离性更好。如果您熟悉 Node.js 环境且希望快速体验,可以选择 NPX 配置。
基本使用方法
MCP 客户端配置并启动 OSSInsight MCP Server 后,即可通过 MCP 协议与其通信,调用其提供的工具。
核心工具示例:
-
获取仓库分析 ('get_repo_analysis' 工具)
客户端发送 'CallToolRequest' 请求,指定工具名为 'get_repo_analysis',并提供必要的参数,例如:
{ "tool_name": "get_repo_analysis", "arguments": { "owner_repo": "microsoft/vscode" } }服务器将返回 VSCode 仓库的分析数据。
-
获取开发者分析 ('get_developer_analysis' 工具)
{ "tool_name": "get_developer_analysis", "arguments": { "username": "torvalds" } }服务器将返回 Linus Torvalds 的开发者分析数据。
-
列出项目集合 ('list_collections' 工具)
{ "tool_name": "list_collections", "arguments": {} }或 (指定页码和每页数量)
{ "tool_name": "list_collections", "arguments": { "page": 1, "per_page": 10 } }服务器将返回项目集合列表。
-
自然语言查询 ('natural_language_query' 工具)
{ "tool_name": "natural_language_query", "arguments": { "query": "Show me the most popular Python projects in the last month" } }服务器将返回 OSSInsight 自然语言查询界面的链接,用户可以在该链接中查看查询结果。
注意: 实际使用时,请参考仓库 'README.md' 文件中 "Tools" 部分,了解每个工具的输入参数和返回结果,并根据 MCP 客户端的具体使用方式发送请求和处理响应。
信息
分类
开发者工具