Skip to main content
Glama
index.ts1.23 kB
#!/usr/bin/env node import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js" import { Octokit } from "octokit" import { z } from "zod" import { registerIssueTools } from "./tools/issues.js" import { registerPullRequestTools } from "./tools/pullrequests.js" import { registerRepositoryTools } from "./tools/repositories.js" import { registerSearchTools } from "./tools/search.js" export const configSchema = z.object({ githubPersonalAccessToken: z.string().describe("GitHub personal access token for authentication. Create one at: https://github.com/settings/personal-access-tokens"), }) export default function ({ config }: { config: z.infer<typeof configSchema> }) { try { console.log("Starting GitHub MCP Server...") // Create a new MCP server const server = new McpServer({ name: "GitHub MCP Server", version: "1.0.0", }) // Initialize Octokit client const octokit = new Octokit({ auth: config.githubPersonalAccessToken }) // Register tool groups registerSearchTools(server, octokit) registerIssueTools(server, octokit) registerRepositoryTools(server, octokit) registerPullRequestTools(server, octokit) return server.server } catch (e) { console.error(e) throw e } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hithereiamaliff/mcp-github'

If you have feedback or need assistance with the MCP directory API, please join our Discord server