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: Nexus MCP Server

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.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fatherlinux/mcp-pagure'

If you have feedback or need assistance with the MCP directory API, please join our Discord server