github-stars

A Cloudflare-powered MCP (Model Context Protocol) Server that allows you to search and query your GitHub starred repositories using natural language.

GitHub Stars

77

User Rating

Not Rated

Favorites

0

Views

28

Forks

17

Issues

0

Installation
Difficulty
Intermediate
Estimated Time
10-20 minutes
Requirements
Node.js (v22 recommended)
PNPM package manager
+2 more

Installation

Installation

Prerequisites

Node.js: v22 recommended
PNPM: Latest version
GitHub Personal Access Token: with repo scope
Cloudflare account

Installation Steps

1. Clone Repository

bash
git clone https://github.com/ccbikai/github-stars.git
cd github-stars

2. Install Dependencies

bash
pnpm install

3. Set Up Cloudflare R2

Create an R2 bucket and configure access credentials.

4. Configure GitHub Secrets

GH_TOKEN: GitHub token
R2_ACCOUNT_ID: Cloudflare account ID
R2_ACCESS_KEY_ID: R2 access key
R2_SECRET_ACCESS_KEY: R2 secret key
R2_BUCKET: R2 bucket name

5. Configure Cloudflare AutoRAG

Create an AutoRAG instance in Cloudflare and set the AUTO_RAG_NAME environment variable.

6. Local Development

bash
pnpm dev:stars
pnpm dev:mcp

Troubleshooting

Common Issues

Issue: Server won't start Solution: Check Node.js version and reinstall dependencies.

Configuration

Configuration

Basic Configuration

1After cloning the repository, set up Cloudflare R2.
2Configure GitHub Secrets.
3Set up Cloudflare AutoRAG.

Environment Variables

Set the following environment variables as needed:
bash
export AUTO_RAG_NAME="your-auto-rag-name"

Configuration Example

json
{
  "mcpServers": {
    "github-stars": {
      "command": "node",
      "args": ["server.js"],
      "env": {
        "GH_TOKEN": "your-gh-token",
        "R2_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}

Examples

Examples

Basic Usage

Here are basic usage examples for the MCP server:

Programmatic Usage

javascript
// JavaScript example (Node.js)
const { MCPClient } = require('@modelcontextprotocol/client');

const client = new MCPClient();
await client.connect();

// Execute tool
const result = await client.callTool('search_github_stars', {
  query: 'your search query'
});

console.log(result);

Advanced Examples

Automation Script

bash
#!/bin/bash

Batch processing example

for file in *.txt; do mcp-tool process "$file" done

Use Cases

Quickly retrieve necessary information by searching starred repositories on GitHub using natural language.
Utilize regularly updated repository information to track project progress.
Integrate with AI agents to provide repository information in response to user queries.
Filter repositories based on specific technology stacks or libraries by analyzing README file content.

Additional Resources