πŸš€ GitHub AI Agent

by cnoe-io

364 downloads
Not rated
GitHub

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

- 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name πŸš€ GitHub AI Agent
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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

Python
Poetry
License

Conventional Commits
Ruff Linter
Super Linter
Unit Tests

A2A Docker Build and Push
---

πŸ§ͺ Evaluation Badges

| Claude | Gemini | OpenAI | Llama |
|--------|--------|--------|-------|
| Claude Evals | Gemini Evals | OpenAI Evals | Llama Evals |

---

- πŸ€– 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
############################

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.