Skip to main content
Glama

GitHub MCP Tools

by NZenitram
main.py2.62 kB
#!/usr/bin/env python3 import os from dotenv import load_dotenv from fastmcp import FastMCP from github import Github # Load environment variables from .env file load_dotenv() def initialize_github(): """Initialize and return GitHub client connection using environment variables.""" github_token = os.getenv("GITHUB_TOKEN") github_username = os.getenv("GITHUB_USERNAME") if not all([github_token, github_username]): raise ValueError("Missing required GitHub environment variables") github = Github(github_token) return github def main(): # Initialize GitHub connection github_client = initialize_github() # Initialize FastMCP app = FastMCP(name="github-tools") # Import tools from src.tools.repositories import ( search_repos, create_repo, update_repo_settings, manage_collaborators, manage_workflows ) from src.tools.issues import ( search_issues, create_issue, update_issue, create_pull_request, manage_issue_labels ) # Register tools using the add_tool method app.add_tool( search_repos, name="search_repos", description="Search for GitHub repositories using various criteria" ) app.add_tool( create_repo, name="create_repo", description="Create a new GitHub repository" ) app.add_tool( update_repo_settings, name="update_repo_settings", description="Update repository settings and configurations" ) app.add_tool( manage_collaborators, name="manage_collaborators", description="Manage repository collaborators" ) app.add_tool( manage_workflows, name="manage_workflows", description="Manage GitHub Actions workflows" ) app.add_tool( search_issues, name="search_issues", description="Search for GitHub issues across repositories" ) app.add_tool( create_issue, name="create_issue", description="Create a new GitHub issue" ) app.add_tool( update_issue, name="update_issue", description="Update an existing GitHub issue" ) app.add_tool( create_pull_request, name="create_pull_request", description="Create a new pull request" ) app.add_tool( manage_issue_labels, name="manage_issue_labels", description="Manage issue labels" ) # Start the FastMCP application app.run() if __name__ == "__main__": main()

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/NZenitram/github-mcp'

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