Uniquity

Uniquity

kunihiros

Analyzes GitHub repositories to find code similarities and duplicate patterns, generating detailed reports in Markdown format.

Analyzes GitHub repositories for code similarities, returning detailed reports in Markdown format

316 views1Local (stdio)

What it does

  • Scan GitHub repositories for code similarities
  • Generate detailed similarity reports in Markdown
  • Identify duplicate code patterns across files
  • Compare code structures within repositories

Best for

Code review and refactoring projectsTechnical debt assessmentCode quality audits
Works with any GitHub repositoryMarkdown report output

About Uniquity

Uniquity is a community-built MCP server published by kunihiros that provides AI assistants with tools and capabilities via the Model Context Protocol. Uniquity is a programming plagiarism checker that analyzes GitHub repositories and delivers detailed code plagiarism det It is categorized under analytics data, developer tools.

How to install

You can install Uniquity in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Uniquity is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Uniquity MCP Server

smithery badge

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 API
    • OPENAI_API_KEY: OpenAI API key
    • TAVILY_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)
ArgumentTypeRequiredDescription
repositoryUrlstringYesGitHub repository URL to analyze
openaiModelstringNoName of the OpenAI model to use (e.g., o3-mini, gpt-4.1-nano, etc.)
logEnabledstringNoEnable/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)
ArgumentTypeRequiredDescription
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.
  • openaiModel and logEnabled can 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-reporter in package.json is 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-reporter npm 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 implementation
    • uniquity-reporter: Core analysis engine
    • winston: Logging
    • dotenv: 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

KunihiroS

Alternatives

Related Skills

Browse all skills
usage-export

Export OpenClaw usage data to CSV for analytics tools like Power BI. Hourly aggregates by activity type, model, and channel.

1
mcp-developer

Use when building MCP servers or clients that connect AI systems with external tools and data sources. Invoke for MCP protocol compliance, TypeScript/Python SDKs, resource providers, tool functions.

1
ccxt-typescript

CCXT cryptocurrency exchange library for TypeScript and JavaScript developers (Node.js and browser). Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors. Use when working with crypto exchanges in TypeScript/JavaScript projects, trading bots, arbitrage systems, or portfolio management tools. Includes both REST and WebSocket examples.

1
dotnet-backend

.NET/C# backend developer for ASP.NET Core APIs with Entity Framework Core. Builds REST APIs, minimal APIs, gRPC services, authentication with Identity/JWT, authorization, database operations, background services, SignalR real-time features. Activates for: .NET, C#, ASP.NET Core, Entity Framework Core, EF Core, .NET Core, minimal API, Web API, gRPC, authentication .NET, Identity, JWT .NET, authorization, LINQ, async/await C#, background service, IHostedService, SignalR, SQL Server, PostgreSQL .NET, dependency injection, middleware .NET.

109
supabase-developer

Build full-stack applications with Supabase (PostgreSQL, Auth, Storage, Real-time, Edge Functions). Use when implementing authentication, database design with RLS, file storage, real-time features, or serverless functions.

87
python-expert

Senior Python developer expertise for writing clean, efficient, and well-documented code. Use when: writing Python code, optimizing Python scripts, reviewing Python code for best practices, debugging Python issues, implementing type hints, or when user mentions Python, PEP 8, or needs help with Python data structures and algorithms.

40