Skip to main content
Glama

mcp-pagure

PyPI version License: MIT

MCP server for Pagure - enables AI assistants to manage issues, pull requests, and projects on Pagure instances (pagure.io and self-hosted).

Features

  • Read Operations: List/get projects, issues, pull requests, branches, and user info

  • Write Operations: Create issues, add comments, update status, assign issues, merge/close PRs

  • Multi-instance Support: Works with pagure.io and self-hosted Pagure instances

  • Namespace Support: Full support for namespaced projects (rpms/, container/, etc.)

Related MCP server: @maxronner/tea-mcp

Installation

uvx mcp-pagure

Using pip

pip install mcp-pagure

Configuration

Environment Variables

Variable

Required

Default

Description

PAGURE_API_TOKEN

Yes

-

Your Pagure API token

PAGURE_URL

No

https://pagure.io

Base URL for Pagure instance

Getting an API Token

  1. Go to your Pagure instance (e.g., https://pagure.io)

  2. Navigate to SettingsAPI Keys

  3. Create a new token with the permissions you need:

    • issue_create - Create new issues

    • issue_update - Update issues (status, assignee, comments)

    • pull_request_merge - Merge pull requests

    • pull_request_close - Close pull requests

    • pull_request_comment - Comment on pull requests

Usage with Claude Code

Add to your Claude Code MCP configuration (~/.claude/claude_code_config.json):

{
  "mcpServers": {
    "pagure": {
      "command": "uvx",
      "args": ["mcp-pagure"],
      "env": {
        "PAGURE_API_TOKEN": "your-api-token-here",
        "PAGURE_URL": "https://pagure.io"
      }
    }
  }
}

For Fedora's src.fedoraproject.org

{
  "mcpServers": {
    "fedora-dist-git": {
      "command": "uvx",
      "args": ["mcp-pagure"],
      "env": {
        "PAGURE_API_TOKEN": "your-fedora-token",
        "PAGURE_URL": "https://src.fedoraproject.org"
      }
    }
  }
}

Available Tools

Read Operations

Tool

Description

whoami

Get information about the authenticated user

list_projects

Search/list projects with filters (pattern, owner, namespace, fork status)

get_project

Get detailed project information

list_issues

List issues with filtering (status, tags, assignee, author, search)

get_issue

Get issue details including all comments

list_pull_requests

List PRs with filtering (status, assignee, author)

get_pull_request

Get PR details including commits and comments

get_user

Get user profile information

list_branches

List git branches in a repository

Write Operations

Tool

Description

create_issue

Create a new issue with title, description, tags, assignee

add_issue_comment

Add a comment to an existing issue

update_issue_status

Change issue status (Open/Closed) with optional close reason

assign_issue

Assign or unassign an issue to a user

add_pr_comment

Add a comment to a pull request (general or inline)

merge_pull_request

Merge a pull request

close_pull_request

Close a pull request without merging

Examples

List issues in a project

List open issues in the pagure project

Create an issue

Create an issue in mcp-pagure titled "Add webhook support" with description "We should add support for Pagure webhooks to enable real-time notifications"

Work with namespaced projects

List pull requests in rpms/kernel

Search for projects

Find projects matching "container"

Development

Setup

git clone https://github.com/fatherlinux/mcp-pagure.git
cd mcp-pagure
uv sync --dev

Run tests

uv run python -m pytest -v

Run the server locally

export PAGURE_API_TOKEN="your-token"
uv run mcp-pagure

Test with MCP Inspector

npx @modelcontextprotocol/inspector uv run mcp-pagure

Supported Pagure Instances

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to automate GitHub repository management, issue tracking, and commits using natural language.
    2 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to interact with a Forgejo instance as an authenticated user, supporting issues, pull requests, repositories, and notifications.
    18 npm
    MIT