About Uniquity Mcp Server
A Node.js MCP server that exposes UniquityReporter analysis through a standardized interface for MCP hosts and AI agents. It analyzes GitHub repositories for similarity and returns Markdown reports to standard output.
Key features
- 01GitHub repository similarity analysis
- 02Markdown report output
- 03Tool listing with specifications
- 04Configurable model and logging
Use cases
- 01Analyzing a GitHub repository
- 02Retrieving available tool specifications
- 03Adjusting the analysis model or logging
MCP support
Exposes UniquityReporter analysis through MCP tools, including repository analysis and tool listing. It communicates with the host over standard input and output.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| repositoryUrl | string | Yes | The URL of the Git repository to analyze. |
| openaiModel | string | No | Optional: The OpenAI model to use (e.g., gpt-4o-mini). |
| logEnabled | enum | No | Optional: Enable or disable verbose logging. 'on' to enable, 'off' to disable.on | off |
Details
From the project READMEUniquity MCP Server
Overview
Uniquity MCP Server is a server that makes the functions of UniquityReporter available to external tools and AI agents via MCP (Model Context Protocol).
UniquityReporter: UniquityReporter
- Enables the analysis functions of UniquityReporter to be called from MCP Host or AI agents.
- Separates core logic and interface to improve maintainability and extensibility.
- Makes it available from various clients through a standardized protocol.
Release Note
- 0.1.0
- Initial version
MCP Host Settings
Required and Optional Environment Variables
- Required (Must be passed from MCP Host)
GITHUB_TOKEN: Token for GitHub APIOPENAI_API_KEY: OpenAI API keyTAVILY_API_KEY: Tavily API key
- Optional (If not specified, the default values in config/config.js will be used)
openaiModel: Name of the OpenAI model to use (e.g., o3-mini, gpt-4.1-nano, etc.)logEnabled: Enable/disable log output (on/off)
Example MCP Host Configuration
{
"uniquity-mcp": {
"command": "npx",
"args": [
"-y",
"uniquity-mcp@latest"
],
"env": {
"GITHUB_TOKEN": "{apikey}",
"OPENAI_API_KEY": "{apikey}",
"TAVILY_API_KEY": "{apikey}"
}
}
}
- Secrets in env settings are required.
- This MCP does not support report and log file saving.
- If file saving is required, save the standard output to a file on the Host side.
List of Provided Tools (MCP Server)
1. analyze_repository
- Description: Generates a similarity analysis report for the specified GitHub repository. The report is always returned in Markdown format to standard output.
- Return Value: Report body in Markdown format (standard output)
| Argument | Type | Required | Description |
|---|---|---|---|
| repositoryUrl | string | Yes | GitHub repository URL to analyze |
| openaiModel | string | No | Name of the OpenAI model to use (e.g., o3-mini, gpt-4.1-nano, etc.) |
| logEnabled | string | No | Enable/disable log output (on/off, default: off) |
2. list_tools
- Description: Returns a list of tools provided by the MCP Server and their specifications (arguments and return values).
- Return Value: Array of tools available in the MCP Server (including name, description, parameterSchema, returnSchema for each tool)
| Argument | Type | Required | Description |
|---|---|---|---|
| None |
This makes it clear to MCP Hosts and clients "what tools are available" and "how to call them."
Notes
- MCP Server supports standard output only.
openaiModelandlogEnabledcan be dynamically specified as tool arguments.- Optional values can be omitted, and if omitted, the default values of UniquityReporter will be used.
Version Management of Dependency Package (uniquity-reporter)
-
The dependency of
uniquity-reporterinpackage.jsonis specified as^1.4.4.- This allows minor and patch updates to be automatically followed, but major version updates (such as 2.x) will not be automatically followed.
- If you want to guarantee "always the latest," perform version updates and releases of the MCP Server itself, and recommend users to use
npx uniquity-mcp@latest.
-
Note on npx Cache Behavior
- npx caches the retrieved packages and dependencies.
- If you want to always use the latest version of the package and dependencies, explicitly specify
"uniquity-mcp@latest"as in the MCP Host configuration example, and guide users to clear the cache (npx clear-npx-cache, etc.) for safety.
-
If there are specification changes or significant updates to the dependency package, promptly version up the MCP Server and announce it in the release notes or README.
Architecture Overview
- This repository manages only the implementation of the MCP Server and depends on the
uniquity-reporternpm package for core logic. - Receives requests from MCP Host, calls UniquityReporter CLI, and returns the results.
- Uses standard input/output (stdin/stdout) based inter-process communication.
- Reports are always output to standard output and are not saved to files.
Architecture Diagram
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
Technology Stack
- Runtime: Node.js 18+
- Main Packages:
@modelcontextprotocol/sdk: MCP protocol implementationuniquity-reporter: Core analysis enginewinston: Loggingdotenv: Environment variable management
- Development Tools:
- TypeScript
- ESLint
- Prettier
- Jest (Testing)
Project Structure
uniquity-mcp/
├── uniquity-mcp/ # Main Project
│ ├── src/
│ │ └── index.js # Entry Point
│ └── package.json
├── .github/ # GitHub Actions Configuration
└── README.md # This File
Development Guide
Installation
Installing via Smithery
To install uniquity-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @KunihiroS/uniquity-mcp --client claude
Installing Dependencies
# Install dependency packages
pnpm install
# Install including development dependencies
pnpm install --dev
Build
pnpm run build
Start in Development Mode
pnpm run dev
Usage
Starting the MCP Server
# After building
node dist/index.js
# Or run directly
pnpm start
Starting the Development Server
# Start in development mode (with hot reload)
pnpm run dev
# Build and then run
pnpm run build
pnpm start
License
MIT License
Author
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.