GitHub Agentic Chat MCP Server
@akhidasTech
An MCP server implementation for GitHub agentic chat using Go
Overview
What is GitHub Agentic Chat MCP Server?
GitHub Agentic Chat MCP Server is a Model Context Protocol (MCP) server written in Go that lets you interact with GitHub through natural language. It provides tools for searching repositories, creating issues, and maintaining a vector store for semantic search over documents. It is designed for developers using MCP‑compatible clients like Claude Desktop.
How to use GitHub Agentic Chat MCP Server?
Set environment variables (GITHUB_TOKEN, DATABASE_URL, OPENAI_API_KEY), build the Go binary, then add a configuration entry in your MCP client (e.g., Claude Desktop’s claude_desktop_config.json) pointing to the compiled binary. After restarting the client, the server’s tools become available for use.
Key features of GitHub Agentic Chat MCP Server
- Search GitHub repositories by query string.
- Create issues in any public repository.
- Add documents to a vector store with JSON metadata.
- Perform semantic vector searches across stored documents.
- Built with Go for performance and extensibility.
Use cases of GitHub Agentic Chat MCP Server
- Ask an AI assistant to find GitHub repositories matching specific criteria.
- Automate issue creation from natural language commands.
- Build a searchable knowledge base of documentation using vector embeddings.
- Enable semantic retrieval of internal notes or code snippets alongside GitHub operations.
FAQ from GitHub Agentic Chat MCP Server
What makes this server different from other GitHub MCP servers?
It combines direct GitHub actions (search, issue creation) with a vector store for semantic search, allowing you to store and retrieve custom documents alongside repository interactions.
What are the runtime requirements?
You need Go 1.21+, a PostgreSQL database with the pgvector extension, a GitHub Personal Access Token, and an OpenAI API Key. The server runs as a local binary.
Where is the vector data stored?
All vector data and documents are stored in your own PostgreSQL database via the pgvector extension. No external cloud storage is used.
How does the server authenticate with GitHub and OpenAI?
Authentication is provided via environment variables: GITHUB_TOKEN for GitHub and OPENAI_API_KEY for OpenAI embeddings.
What transport does the server use?
The server uses the standard MCP stdio transport, designed to be launched by an MCP client like Claude Desktop. It does not expose an HTTP server by default.