mcp-pagure logo

mcp-pagure

fatherlinux/mcp-pagure
0 starsMITUpdated 2026-02-11Community

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

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

README.md

mcp-pagure

![PyPI version](https://badge.fury.io/py/mcp-pagure) ![License: MIT](https://opensource.org/licenses/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.)

Installation

Using uvx (recommended)

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 Projects

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.