Github Automation with Mistral AI Agents

AgentsGithub

This cookbook show how to create an Agent that use mistral Medium to perform some actions on your github.

WIP: This cookbook is minimal working example and will still evolve in the near future.

Github Agent

Use Case

  • Create a New Repo.
  • Manage PRs.
  • Collaborate with the AI to create some code and upload some code to an existing repo.

Installation

pip install chainlit mcp mistralai

Environment Setup

In this example, we are relying on the docker mcp :

server_params = StdioServerParameters(
    command="docker",
    args=[
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
        ],
    env={
"GITHUB_PERSONAL_ACCESS_TOKEN": os.environ["GITHUB_PERSONAL_ACCESS_TOKEN"]
}

hence you will to make sure that :

  1. you have docker on your computer.
  2. you pull the associated images:
docker pull ghcr.io/github/github-mcp-server

3)You have created a token for github. You can do so HERE

Disclaimer: The coding is done by AI, hence when creating your GitHub token, for enhanced security, it is strongly recommended to create a fine-grained personal access token with only the minimum necessary permissions for the tasks you intend to perform.

Set your MistralAI API key and your Github key:

export MISTRAL_API_KEY="your_api_key_here"
export GITHUB_PERSONAL_ACCESS_TOKEN="your_api_key_here"

Usage

Run the application:

chainlit run github.py

Ask questions like:

  • "Create a repo under my username : called ..."
  • "Generate the files for a todo app and push them to repo ... under branch name ..."

MCP Usage

There is two type of MCPs.

STDIO : Local usage of tools. SSE : Remote usage of tools.

In this example, we leverage the chainlit integration of MCP tools, and directly convert them in our API ! Hence do not hesitate to test other MCP Servers yourself. MCP from chainlit