{
  "markdown": "<p align=\"center\">\n  <img src=\"./assets/banner-release-intel.svg\" alt=\"release-intel-mcp\" width=\"888\" />\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@barissozudogru/release-intel-mcp\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/@barissozudogru/release-intel-mcp?style=flat-square&color=8B5CF6\"></a>\n  <a href=\"https://www.npmjs.com/package/@barissozudogru/release-intel-mcp\"><img alt=\"npm downloads\" src=\"https://img.shields.io/npm/dm/@barissozudogru/release-intel-mcp?style=flat-square&color=8B5CF6\"></a>\n  <a href=\"https://github.com/barissozudogru/release-intel-mcp/actions/workflows/ci.yml\"><img alt=\"CI\" src=\"https://github.com/barissozudogru/release-intel-mcp/actions/workflows/ci.yml/badge.svg\"></a>\n  <a href=\"https://registry.modelcontextprotocol.io/v0.1/servers/io.github.barissozudogru%2Frelease-intel/versions/latest\"><img alt=\"MCP Registry\" src=\"https://img.shields.io/badge/MCP_Registry-listed-0F172A?style=flat-square\"></a>\n  <a href=\"./LICENSE\"><img alt=\"MIT license\" src=\"https://img.shields.io/badge/License-MIT-8B5CF6?style=flat-square\"></a>\n</p>\n\n# release-intel-mcp\n\nBuild release context from repository evidence instead of a blank prompt. The server compares two Git refs and correlates commits, merged pull requests, linked issues, labels, changed files, and contributors into a structured release record.\n\n[Tool page](https://petri-labs.org/tools/release-intel-mcp/) · [npm](https://www.npmjs.com/package/@barissozudogru/release-intel-mcp) · Listed in the official [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.barissozudogru%2Frelease-intel/versions/latest)\n\n## Start in one minute\n\nCreate a fine-grained GitHub token with read-only access to the repositories you want to inspect. Repository contents and pull requests are sufficient for the current tools. No write permission is needed.\n\n```json\n{\n  \"mcpServers\": {\n    \"release-intel\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@barissozudogru/release-intel-mcp\"],\n      \"env\": {\n        \"GITHUB_TOKEN\": \"your_read_only_token\"\n      }\n    }\n  }\n}\n```\n\nThen ask the client for a bounded range:\n\n```text\nUse release-intel to build release evidence for owner/repository\nfrom v1.4.0 to v1.5.0. Separate merged PRs from direct commits\nand preserve links to the repository record.\n```\n\nThe token stays in the local server process and is sent only to the GitHub API.\n\n## Proof on this repository\n\nA verified run against the stable range `v0.5.1...8a2f350` returned:\n\n```text\nRepository:        barissozudogru/release-intel-mcp\nCommits:           14\nMerged PRs:        1\nFiles changed:     12\nLines added:       286\nLines deleted:     135\nContributors:      1\n```\n\nThe response also includes commit SHAs, messages, authors, pull request categories, linked issues, and warnings when GitHub truncates or fails part of the evidence lookup.\n\nIf this saves you time, consider [starring the repository](https://github.com/barissozudogru/release-intel-mcp). It helps other developers find it.\n\n## Tools\n\n| Tool | What it returns |\n|---|---|\n| `get_changes_between_refs` | Commits enriched with merged pull request metadata and linked issues |\n| `get_pull_requests_in_range` | Merged pull requests grouped as breaking, feature, fix, docs, chore, dependency, release, or other |\n| `get_release_summary` | A complete release evidence object with aggregate statistics and contributors |\n\nThe categorization uses labels and conventional title signals. Repository labels, issue links, and pull request hygiene directly affect the result. The server provides evidence and structure; the final release narrative still needs review.\n\n## Release report command\n\nThe package includes a terminal command that produces Markdown by default:\n\n```bash\nGITHUB_TOKEN=your_read_only_token \\\n  npx --yes --package @barissozudogru/release-intel-mcp \\\n  release-intel-report owner/repository v1.4.0 v1.5.0\n```\n\nUse `--json` when another tool will consume the report:\n\n```bash\nrelease-intel-report owner/repository v1.4.0 v1.5.0 --json\n```\n\n## GitHub Action\n\nAttach the evidence report to the workflow summary before publishing a release:\n\n```yaml\nname: Release evidence\n\non:\n  workflow_dispatch:\n    inputs:\n      from_ref:\n        required: true\n      to_ref:\n        required: true\n\njobs:\n  evidence:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n      pull-requests: read\n    steps:\n      - uses: barissozudogru/release-intel-mcp@v0.7.2\n        with:\n          from-ref: ${{ inputs.from_ref }}\n          to-ref: ${{ inputs.to_ref }}\n          token: ${{ secrets.GITHUB_TOKEN }}\n```\n\nThis action reads repository data and writes Markdown to the job summary. It does not publish a release or modify repository content.\n\n## Client setup\n\n<details>\n<summary>Claude Desktop, Cursor, Windsurf, Cline, and similar clients</summary>\n\nUse the stdio configuration from the quickstart. The server entry is identical across these clients even when their config file locations differ.\n\n</details>\n\n<details>\n<summary>VS Code with Copilot</summary>\n\nCreate `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"release-intel\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@barissozudogru/release-intel-mcp\"],\n      \"env\": {\n        \"GITHUB_TOKEN\": \"your_read_only_token\"\n      }\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>Streamable HTTP</summary>\n\n```bash\nGITHUB_TOKEN=your_read_only_token \\\n  npx @barissozudogru/release-intel-mcp --http\n```\n\nThe MCP endpoint is `http://localhost:3000/mcp` and the health endpoint is `http://localhost:3000/health`. Set `PORT` to change the port.\n\n</details>\n\n<details>\n<summary>Docker</summary>\n\n```bash\ndocker build -t release-intel-mcp .\ndocker run -p 3000:3000 \\\n  -e GITHUB_TOKEN=your_read_only_token \\\n  release-intel-mcp\n```\n\nConnect an HTTP client to `http://localhost:3000/mcp`.\n\n</details>\n\n## Local development\n\n```bash\nnpm install\nnpm test\nnpm run build\nGITHUB_TOKEN=your_read_only_token node dist/index.js\n```\n\nRequirements: Node.js 18 or newer.\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for the development workflow.\n\n## Security and limits\n\n- Use a fine-grained, read-only token restricted to the required repositories.\n- The server never needs permission to write releases, issues, or pull requests.\n- GitHub's compare endpoint limits very large ranges. The response reports truncation.\n- Unlinked direct commits remain visible but cannot inherit pull request metadata.\n- Release categories are evidence-backed heuristics, not editorial conclusions.\n\n## License\n\n[MIT](./LICENSE)\n",
  "bytes": 6583,
  "sha": "e89df985e9e23412729626795656a5c4868e25283000081164ad628793516f5c",
  "repo_slug": "barissozudogru/release-intel-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_barissozudogru_release_intel_36c69158/readme"
}