About
Github Stars Contrib — Model Context Protocol server
README
Model Context Protocol (MCP) server for the GitHub Stars program: https://stars.github.com/.
It provides a comprehensive API to manage contributions, links, and profile data using your personal API token via the Stars GraphQL API.
- Transport: FastMCP (SSE streamable-http)
- Features: Full CRUD operations for contributions and links, profile management
Configuration
Environment variables:
- STARS_API_TOKEN: Token shown in GitHub Stars profile (Contributions → Token)
- LOG_LEVEL: DEBUG|INFO|WARNING|ERROR|CRITICAL (default: INFO)
- MCP_HOST: Bind host for SSE transport (default: 127.0.0.1)
- MCP_PORT: Bind port (default: 8766)
- MCP_PATH: Path (default: /mcp)
- MCP_TRANSPORT: Transport selection ("stdio" | "http" | "streamable-http" | "sse"). Default: stdio.
- VALIDATE_URLS: Enable lightweight URL HEAD validation before mutations (default: false)
- URL_VALIDATION_TIMEOUT_S: Timeout for URL validation requests (default: 3)
- URL_VALIDATION_TTL_S: TTL cache in seconds for URL validation results (default: 3600)
Tools
The server provides the following MCP tools:
Mutations (write operations):
- create_contribution: Create a single contribution
- create_contributions: Create one or more contributions in a single mutation
- update_contributions: Update one or more contributions
- delete_contributions: Delete one or more contributions
- create_link: Create a link in GitHub Stars profile
- update_link: Update a link in GitHub Stars profile
- delete_link: Delete a link from GitHub Stars profile
- update_profile: Update the user's profile information
Queries (read operations):
- get_user: Get the logged user (minimal user info without nominee data)
- get_stars: Get the public profile stars/contributions for a GitHub user
- search_contributions: Filter contributions from a user's public Stars profile
- get_contributions_stats: Get contribution statistics and analytics (groupable by type, month, year)
- compare_contributions: Compare contributions between two users
- export_contributions: Export contributions in JSON, CSV, or Markdown format
All tools return a standardized response format: { "success": boolean, "data": object | null, "error": string | null }
Quick start
Create a virtualenv and install
python3 -m venv .venv source .venv/bin/activate python -m pip install -e .[dev]Configure environment (from template)
cp env.template .env # edit .env and set STARS_API_TOKEN set -a; source .env; set +aAlternatively, export variables directly:
export STARS_API_TOKEN="<your_token>" export LOG_LEVEL=INFORun the MCP server (Streamable HTTP)
python -m github_stars_contrib_mcp.server # Binds to MCP_HOST (default 127.0.0.1) and MCP_PORT (default 8766), path /mcp
Local usage without an MCP client
You can test the tools locally via a tiny demo script. First, make sure a Stars API token is available (export it or put it in a .env file at the project root as STARS_API_TOKEN=...).
export STARS_API_TOKEN=stars_...your_token...
Then run:
python scripts/demo.py get-user-data
python scripts/demo.py create-contributions --data '[{"title": "Test Contribution", "url": "https://example.com", "type": "BLOGPOST", "date": "2023-01-01T00:00:00Z"}]'
Shortcut with Makefile (loads .env, activates venv if present):
make run-env
Tool contracts are defined in src/github_stars_contrib_mcp/tools/ (source of truth).
Enums and aliases
For link platforms, see PlatformType in src/github_stars_contrib_mcp/models.py. The tools also accept a couple of legacy aliases which are normalized internally by normalize_platform in src/github_stars_contrib_mcp/utils/normalization.py (e.g., GITHUB → README, WEBSITE → OTHER). When an alias is used, a warning is logged to help migrate callers.
Testing
Unit tests:
. .venv/bin/activate
pytest -q
All tests, with optional live mutation e2e:
# Create `.env.local` with at least STARS_API_TOKEN; set STARS_E2E_MUTATE=1 to enable mutation tests
make test-all
Notes:
- If your token doesn’t expose nominee data, read/profile flows may be skipped by tests (that’s expected).
- Ensure
LOG_LEVELis one of: DEBUG, INFO, WARNING, ERROR, CRITICAL.
Features and Roadmap
This project includes comprehensive improvements planned across 10 key areas:
- Security and Authentication
- Error Handling System
- Data Validation
- Performance Optimizations
- Complete Documentation
- CI/CD Automation
- Monitoring and Observability
- Advanced Testing
- Advanced Features
- Advanced Architecture
See docs/feats/README.md for detailed implementation plans and phased rollout strategy.
Install Github Stars Contrib in Claude Desktop, Claude Code & Cursor
unyly install github-stars-contribInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add github-stars-contrib -- uvx --from git+https://github.com/svg153/github-stars-contrib-mcp-server github-stars-contrib-mcp-serverStep-by-step: how to install Github Stars Contrib
FAQ
Is Github Stars Contrib MCP free?
Yes, Github Stars Contrib MCP is free — one-click install via Unyly at no cost.
Does Github Stars Contrib need an API key?
No, Github Stars Contrib runs without API keys or environment variables.
Is Github Stars Contrib hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Github Stars Contrib in Claude Desktop, Claude Code or Cursor?
Open Github Stars Contrib on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Github Stars Contrib with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
