π GitHub AI Agent
About
GitHub AI Agent powered by official GitHub MCP Server. Uses LangGraph and LangChain MCP Adapters. Agent is exposed on various agent transport protocols (AGNTCY Slim, Google A2A, MCP Server)
Details
- Author
- cnoe-io
- Downloads
- 364
- Categories
- AI
Jump to
- LangGraph ReAct Agent with MCP tool integration
- Azure OpenAI GPT-4 as the LLM backend
- Multi-protocol support: ACP and A2A
- GitHub API via a dedicated first-party MCP server
- Comprehensive GitHub API support (repos, issues, PRs, branches, commits, projects, teams)
- Docker-based deployment for easy setup
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
π GitHub AI AgentCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Configure a .env file with Azure OpenAI credentials and a GitHub personal access token, then run the agent via Docker (docker pull ghcr.io/cnoe-io/agent-github:a2a-latest && docker run ...) or locally (make run-a2a). Interact with the agent using the agent-chat-cli client (e.g., uvx https://github.com/cnoe-io/agent-chat-cli.git a2a).
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"\ud83d\ude80 github ai agent": {
"agent-github": {
"command": "docker",
"args": [
"pull",
"ghcr.io/cnoe-io/agent-github:a2a-latest"
]
}
}
}
}
McpServers
{
"agent-github": {
"command": "docker",
"args": [
"pull",
"ghcr.io/cnoe-io/agent-github:a2a-latest"
]
}
}
π GitHub AI Agent
π§ͺ Evaluation Badges
| Claude | Gemini | OpenAI | Llama |
|--------|--------|--------|-------|
| |
|
|
|
---
- π€ GitHub Agent is an LLM-powered agent built using the LangGraph ReAct Agent workflow and MCP tools.
- π Protocol Support: Compatible with ACP and A2A protocols for integration with external user clients.
- π‘οΈ Secure by Design: Enforces GitHub API token-based authentication and supports external authentication for strong access control.
- π Integrated Communication: Uses langchain-mcp-adapters to connect with the GitHub MCP server within the LangGraph ReAct Agent workflow.
- π First-Party MCP Server: The MCP server is generated by our first-party openapi-mcp-codegen utility, ensuring version/API compatibility and software supply chain integrity.
---
ποΈ Architecture
flowchart TD
subgraph Client Layer
A[User Client ACP/A2A]
end
subgraph Agent Transport Layer
B[AGNTCY ACP<br/>or<br/>Google A2A]
end
subgraph Agent Graph Layer
C[LangGraph ReAct Agent]
end
subgraph Tools/MCP Layer
D[LangGraph MCP Adapter]
E[GitHub MCP Server]
F[GitHub API Server]
end
A --> B --> C
C --> D
D -.-> C
D --> E --> F --> E
β¨ Features
- π€ LangGraph + LangChain MCP Adapter for agent orchestration
- π§ Azure OpenAI GPT-4 as the LLM backend
- π Connects to GitHub via a dedicated GitHub MCP server
- π Multi-protocol support: Compatible with both ACP and A2A protocols for flexible integration and multi-agent orchestration
- π Comprehensive GitHub API Support:
- Repository Management
- Issue Management
- Pull Request Management
- Branch Management
- Commit Operations
- Project Management
- Team Collaboration
---
π Getting Started
1οΈβ£ Configure Environment
Setting Up Azure OpenAI
1. Go to Azure Portal
2. Create or select your Azure OpenAI resource
3. Navigate to "Keys and Endpoint" section
4. Copy the endpoint URL and one of the keys
5. In Azure OpenAI Studio:
- Create a deployment for GPT-4
- Note down the deployment name
- You'll need these values for your .env file:
- AZURE_OPENAI_API_KEY
- AZURE_OPENAI_ENDPOINT
- AZURE_OPENAI_DEPLOYMENT
Setting Up GitHub Token
1. Go to GitHub.com β Settings β Developer Settings β Personal Access Tokens β Tokens (classic)
2. Click "Generate new token (classic)"
3. Give your token a descriptive name
4. Set an expiration date (recommended: 90 days)
5. Select the required permissions:
- repo (Full control of private repositories)
- workflow (Update GitHub Action workflows)
- admin:org (Full control of orgs and teams)
- admin:public_key (Full control of public keys)
- admin:repo_hook (Full control of repository hooks)
- admin:org_hook (Full control of organization hooks)
- gist (Create gists)
- notifications (Access notifications)
- user (Update ALL user data)
- delete_repo (Delete repositories)
- write:packages (Upload packages to GitHub Package Registry)
- delete:packages (Delete packages from GitHub Package Registry)
- admin:gpg_key (Full control of GPG keys)
- admin:ssh_signing_key (Full control of SSH signing keys)
6. Click "Generate token"
7. Copy the token immediately (you won't be able to see it again)
8. Save this as your GITHUB_PERSONAL_ACCESS_TOKEN
Port Configuration
- Default ports:
- A2A Agent: 8000
- MCP Server: 9000
- If port 8000 is already in use:
1. Choose an available port (e.g., 8001, 8002, etc.)
2. You'll need to update this in both:
- Your .env file as A2A_AGENT_PORT
- Your Docker run command port mapping
Now, create a .env file in the root directory with the following configuration:
```env
############################
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
