mcp-github-crunchtools 2.0.0__tar.gz → 2.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/workflows/constitution.yml +1 -1
  2. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/workflows/dependabot-automerge.yml +1 -1
  3. mcp_github_crunchtools-2.0.1/.github/workflows/security.yml +68 -0
  4. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.pre-commit-config.yaml +1 -1
  5. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.specify/memory/constitution.md +1 -1
  6. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/CHANGELOG.md +7 -0
  7. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/Containerfile +1 -1
  8. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/PKG-INFO +1 -1
  9. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/pyproject.toml +1 -1
  10. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/server.json +2 -2
  11. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/__init__.py +1 -1
  12. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/server.py +1 -1
  13. mcp_github_crunchtools-2.0.1/uv.lock +2594 -0
  14. mcp_github_crunchtools-2.0.0/.github/workflows/security.yml +0 -140
  15. mcp_github_crunchtools-2.0.0/uv.lock +0 -2224
  16. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.gatehouse-ignore +0 -0
  17. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  18. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  19. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  20. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/dependabot.yml +0 -0
  21. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/workflows/ashigaru.yml +0 -0
  22. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/workflows/ci.yml +0 -0
  23. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/workflows/container.yml +0 -0
  24. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/workflows/gatehouse-retriage.yml +0 -0
  25. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/workflows/gatehouse.yml +0 -0
  26. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.github/workflows/publish.yml +0 -0
  27. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.gitignore +0 -0
  28. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.specify/specs/000-baseline/spec.md +0 -0
  29. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.specify/specs/001-pr-merge-logs-release/spec.md +0 -0
  30. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.specify/specs/002-request-token-merge-gate/spec.md +0 -0
  31. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.specify/templates/plan-template.md +0 -0
  32. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/.specify/templates/spec-template.md +0 -0
  33. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/CLAUDE.md +0 -0
  34. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/LICENSE +0 -0
  35. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/README.md +0 -0
  36. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/SECURITY.md +0 -0
  37. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/gourmand-exceptions.toml +0 -0
  38. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/gourmand.toml +0 -0
  39. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/__main__.py +0 -0
  40. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/client.py +0 -0
  41. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/config.py +0 -0
  42. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/errors.py +0 -0
  43. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/models.py +0 -0
  44. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/tools/__init__.py +0 -0
  45. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/tools/actions.py +0 -0
  46. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/tools/files.py +0 -0
  47. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/tools/issues.py +0 -0
  48. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/tools/pull_requests.py +0 -0
  49. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/tools/releases.py +0 -0
  50. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/src/mcp_github_crunchtools/tools/search.py +0 -0
  51. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/tests/__init__.py +0 -0
  52. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/tests/conftest.py +0 -0
  53. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/tests/test_merge_gate.py +0 -0
  54. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/tests/test_request_token.py +0 -0
  55. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/tests/test_tools.py +0 -0
  56. {mcp_github_crunchtools-2.0.0 → mcp_github_crunchtools-2.0.1}/tests/test_validation.py +0 -0
@@ -18,4 +18,4 @@ permissions:
18
18
  jobs:
19
19
  constitution:
20
20
  name: Constitution
21
- uses: crunchtools/constitution/.github/workflows/validate.yml@v1.27.0
21
+ uses: crunchtools/constitution/.github/workflows/validate.yml@v1.28.0
@@ -15,4 +15,4 @@ permissions:
15
15
  jobs:
16
16
  automerge:
17
17
  name: Dependabot
18
- uses: crunchtools/constitution/.github/workflows/dependabot-automerge.yml@v1.27.0
18
+ uses: crunchtools/constitution/.github/workflows/dependabot-automerge.yml@v1.28.0
@@ -0,0 +1,68 @@
1
+ name: Security Scan
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+ schedule:
9
+ # Run every Monday at 9 AM UTC
10
+ - cron: "0 9 * * 1"
11
+ workflow_dispatch:
12
+
13
+ permissions:
14
+ contents: read
15
+ issues: write
16
+ pull-requests: write
17
+ security-events: write
18
+
19
+ jobs:
20
+ dependency-audit:
21
+ name: Dependency CVE Scan
22
+ permissions:
23
+ contents: read
24
+ issues: write
25
+ uses: crunchtools/constitution/.github/workflows/dependency-audit.yml@v1.28.0
26
+
27
+ container-scan:
28
+ name: Container Security Scan
29
+ runs-on: ubuntu-latest
30
+
31
+ steps:
32
+ - uses: actions/checkout@v7
33
+
34
+ - name: Build container image
35
+ run: |
36
+ docker build -f Containerfile -t mcp-github:scan .
37
+
38
+ - name: Run Trivy vulnerability scanner
39
+ uses: aquasecurity/trivy-action@v0.36.0
40
+ with:
41
+ image-ref: "mcp-github:scan"
42
+ format: "sarif"
43
+ output: "trivy-results.sarif"
44
+ severity: "CRITICAL,HIGH"
45
+
46
+ - name: Upload Trivy scan results
47
+ uses: github/codeql-action/upload-sarif@v4
48
+ if: always()
49
+ with:
50
+ sarif_file: "trivy-results.sarif"
51
+
52
+ codeql:
53
+ name: CodeQL Analysis
54
+ runs-on: ubuntu-latest
55
+
56
+ steps:
57
+ - uses: actions/checkout@v7
58
+
59
+ - name: Initialize CodeQL
60
+ uses: github/codeql-action/init@v4
61
+ with:
62
+ languages: python
63
+ queries: security-extended
64
+
65
+ - name: Perform CodeQL Analysis
66
+ uses: github/codeql-action/analyze@v4
67
+ with:
68
+ category: "/language:python"
@@ -12,7 +12,7 @@ repos:
12
12
  types: [python]
13
13
  stages: [pre-commit, pre-merge-commit]
14
14
  - repo: https://github.com/crunchtools/constitution
15
- rev: v1.27.0
15
+ rev: v1.28.0
16
16
  hooks:
17
17
  - id: validate-constitution
18
18
 
@@ -4,7 +4,7 @@
4
4
  > **Ratified:** 2026-06-14
5
5
  > **Amended:** 2026-10-14
6
6
  > **Status:** Active
7
- > **Inherits:** [crunchtools/constitution](https://github.com/crunchtools/constitution) v1.27.0
7
+ > **Inherits:** [crunchtools/constitution](https://github.com/crunchtools/constitution) v1.28.0
8
8
  > **Profile:** MCP Server
9
9
 
10
10
  This file holds what is specific to mcp-github. The fleet rules and the MCP
@@ -6,6 +6,13 @@ All notable changes to this project are documented here. The format follows
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [2.0.1] - 2026-10-31
10
+
11
+ ### Security
12
+
13
+ - Upgraded locked dependencies within their declared ranges to clear the
14
+ advisories the fleet dependency audit found (anyio, authlib, cryptography, dnspython, joserfc, opentelemetry-api, pydantic-settings, pyjwt).
15
+
9
16
  ## [2.0.0] - 2026-10-30
10
17
 
11
18
  ### Changed
@@ -27,7 +27,7 @@ FROM quay.io/hummingbird/python:3.14
27
27
 
28
28
  # Labels for container metadata
29
29
  LABEL name="mcp-github-crunchtools" \
30
- version="2.0.0" \
30
+ version="2.0.1" \
31
31
  summary="Secure MCP server for GitHub issues, pull requests, Actions, releases, files, and search" \
32
32
  description="A security-focused MCP server for GitHub built on Red Hat UBI" \
33
33
  maintainer="crunchtools.com" \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: mcp-github-crunchtools
3
- Version: 2.0.0
3
+ Version: 2.0.1
4
4
  Summary: Secure MCP server for GitHub issues, pull requests, Actions, releases, files, and search
5
5
  Author: crunchtools.com
6
6
  License-Expression: AGPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcp-github-crunchtools"
3
- version = "2.0.0"
3
+ version = "2.0.1"
4
4
  description = "Secure MCP server for GitHub issues, pull requests, Actions, releases, files, and search"
5
5
  requires-python = ">=3.10"
6
6
  license = "AGPL-3.0-or-later"
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/crunchtools/mcp-github",
8
8
  "source": "github"
9
9
  },
10
- "version": "2.0.0",
10
+ "version": "2.0.1",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "pypi",
14
14
  "identifier": "mcp-github-crunchtools",
15
- "version": "2.0.0",
15
+ "version": "2.0.1",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }
@@ -29,7 +29,7 @@ import argparse
29
29
 
30
30
  from .server import mcp
31
31
 
32
- __version__ = "2.0.0"
32
+ __version__ = "2.0.1"
33
33
  __all__ = ["main", "mcp"]
34
34
 
35
35
 
@@ -46,7 +46,7 @@ READ_ONLY = {"readOnlyHint": True}
46
46
 
47
47
  mcp = FastMCP(
48
48
  name="mcp-github",
49
- version="2.0.0",
49
+ version="2.0.1",
50
50
  instructions=(
51
51
  "Secure MCP server for GitHub repositories: issues, pull requests "
52
52
  "(open, review discussion, diffs, CI checks, merge), Actions runs and "