feat: add list_repo_milestones + list_repo_labels MCP tools (closes #80) #83

Merged
brenner-axiom merged 0 commits from refs/pull/83/head into main 2026-03-07 09:51:02 +00:00
brenner-axiom commented 2026-03-06 18:38:28 +00:00 (Migrated from codeberg.org)

Summary

Implements the two discovery tools requested in issue #80 by @byteflavour.

Problem

Two existing tools require numeric IDs with no way to discover them:

  • update_issue needs a milestone ID
  • add_issue_labels needs label IDs

This blocks autonomous AI workflows.

Solution

Two new read-only tools:

Tool Description
list_repo_milestones Returns milestones with id, title, state, open_issues, closed_issues. Optional state filter (open/closed/all).
list_repo_labels Returns labels with id, name, color, description.

Changes

  • operation/issue/issue.go — constants, tool definitions, handler functions, RegisterTool() registration
  • test/race/race_test.gominimalArgs entries for both new tools
  • README.md — tool table updated
  • CHANGELOG.md — entry added
  • demos/list-milestones-labels.md — showboat demo with live Codeberg API output

Demo

See demos/list-milestones-labels.md — verified with showboat verify

Spec: https://codeberg.org/goern/forgejo-mcp/pulls/81

## Summary Implements the two discovery tools requested in issue #80 by @byteflavour. ### Problem Two existing tools require numeric IDs with no way to discover them: - `update_issue` needs a **milestone ID** - `add_issue_labels` needs **label IDs** This blocks autonomous AI workflows. ### Solution Two new read-only tools: | Tool | Description | |------|-------------| | `list_repo_milestones` | Returns milestones with `id`, `title`, `state`, `open_issues`, `closed_issues`. Optional `state` filter (open/closed/all). | | `list_repo_labels` | Returns labels with `id`, `name`, `color`, `description`. | ### Changes - `operation/issue/issue.go` — constants, tool definitions, handler functions, `RegisterTool()` registration - `test/race/race_test.go` — `minimalArgs` entries for both new tools - `README.md` — tool table updated - `CHANGELOG.md` — entry added - `demos/list-milestones-labels.md` — showboat demo with live Codeberg API output ### Demo See [`demos/list-milestones-labels.md`](https://codeberg.org/brenner-axiom/forgejo-mcp/src/branch/feat/intercom-6sp.1-list-milestones-labels/demos/list-milestones-labels.md) — verified with `showboat verify` ✅ Spec: https://codeberg.org/goern/forgejo-mcp/pulls/81
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
agentic-forges/forgejo-mcp!83
No description provided.