Uniquity MCP服务器
](https://smithery.ai/server/@KunihiroS/uniquity-mcp)
概述
Uniquity MCP Server是一个服务器,它通过MCP(模型上下文协议)使外部工具和AI代理可以使用UniquityReporter的功能。
UniquityReporter: UniquityReporter
- 允许从MCP主机或AI代理调用UniquityReporter的分析功能。
- 将核心逻辑和接口分开,以提高可维护性和可扩展性。
- 通过标准化协议从各种客户端提供。
发布说明
- 0.1.0
- 初始版本
MCP主机设置
必需和可选的环境变量
- 必需(必须从MCP主机传递)
- GITHUB_TOKEN:GitHub API的令牌 - OPENAI_API_KEY:OpenAI API密钥 - TAVILY_API_KEY:Tavilly API密钥
- 可选(如果未指定,将使用config/config.js中的默认值)
- openaiModel:要使用的OpenAI模型的名称(例如,o3 mini、gpt-4.1-nano等) - logEnabled:启用/禁用日志输出(on/off)
MCP主机配置示例
{
"uniquity-mcp": {
"command": "npx",
"args": [
"-y",
"uniquity-mcp@latest"
],
"env": {
"GITHUB_TOKEN": "{apikey}",
"OPENAI_API_KEY": "{apikey}",
"TAVILY_API_KEY": "{apikey}"
}
}
}- env设置中的机密是必需的。
- 此MCP不支持报告和日志文件保存。
- 如果需要保存文件,请将标准输出保存到主机端的文件中。
提供的工具列表(MCP服务器)
1.分析
- 描述:为指定的GitHub存储库生成相似性分析报告。报告总是以Markdown格式返回到标准输出。
- 返回值:Markdown格式的报告正文(标准输出)
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| repositoryUrl | string | 是 | 要分析的GitHub存储库URL |
| openaiModel | string | No | 要使用的OpenAI模型的名称(例如,o3 mini、gpt-4.1-nano等) |
| logEnabled | string | No | 启用/禁用日志输出(on/off,默认值: off) |
2.列表工具
- 描述:返回MCP服务器提供的工具列表及其规范(参数和返回值)。
- 返回值:MCP服务器中可用的工具数组(包括每个工具的名称、描述、参数模式、返回模式)
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| 无 |
______________________________________________________________________
这使MCP主机和客户端清楚“有哪些工具可用”以及“如何调用它们”
备注
- MCP服务器仅支持标准输出。
openaiModel和logEnabled可以动态指定为工具参数。- 可选值可以省略,如果省略,将使用UniquityReporter的默认值。
依赖包的版本管理(uniquity reporter)
- 依赖
uniquity-reporter在……里面package.json指定为^1.4.4.
- 这允许自动遵循次要和补丁更新,但不会自动遵循主要版本更新(如2.x)。 - 如果你想保证“始终是最新的”,请执行MCP服务器本身的版本更新和发布,并建议用户使用 npx uniquity-mcp@latest.
- 关于npx缓存行为的说明
- npx缓存检索到的包和依赖项。 - 如果要始终使用包和依赖项的最新版本,请明确指定 "uniquity-mcp@latest" 如MCP主机配置示例所示,并指导用户清除缓存(npx clear-npx-cache等等)以确保安全。
- 如果依赖包有规范更改或重大更新,请立即对MCP服务器进行版本升级,并在发行说明或README中宣布。
架构概述
- 此存储库仅管理MCP服务器的实现,并依赖于
uniquity-reporter核心逻辑的npm包。 - 接收来自MCP主机的请求,调用UniquityReporter CLI,并返回结果。
- 使用基于标准输入/输出(stdin/stdout)的进程间通信。
- 报告始终输出为标准输出,不会保存到文件中。
架构图
graph LR
subgraph MCP Host
Client[Client Application]
end
subgraph MCP Server
Server[Uniquity MCP Server]
Server -->|Command Execution| UniquityReporter[UniquityReporter CLI]
end
subgraph External Services
GitHub[GitHub API]
OpenAI[OpenAI API]
Tavily[Tavily API]
end
Client -- MCP Protocol --> Server
Server -- JSON Response --> Client
UniquityReporter -- Repository Analysis --> GitHub
UniquityReporter -- Code Analysis --> OpenAI
UniquityReporter -- Web Search --> Tavily技术栈
- 运行时:Node.js 18+
- 主要包装:
- @modelcontextprotocol/sdk:MCP协议实施 - uniquity-reporter:核心分析引擎 - winston:日志记录 - dotenv:环境变量管理
- 开发工具:
- TypeScript - ESLint - 更漂亮 - Jest(测试)
项目结构
uniquity-mcp/
├── uniquity-mcp/ # Main Project
│ ├── src/
│ │ └── index.js # Entry Point
│ └── package.json
├── .github/ # GitHub Actions Configuration
└── README.md # This File开发指南
安装
通过Smithery安装
通过以下方式自动安装Claude Desktop的uniquity mcp 史密瑟里:
npx -y @smithery/cli install @KunihiroS/uniquity-mcp --client claude安装依赖项
# Install dependency packages
pnpm install
# Install including development dependencies
pnpm install --dev构建
pnpm run build从开发模式开始
pnpm run dev用法
启动MCP服务器
# After building
node dist/index.js
# Or run directly
pnpm start启动开发服务器
# Start in development mode (with hot reload)
pnpm run dev
# Build and then run
pnpm run build
pnpm start许可证
MIT许可证
