github-agent 2.4.14__tar.gz → 2.5.0__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.
- {github_agent-2.4.14 → github_agent-2.5.0}/PKG-INFO +6 -46
- {github_agent-2.4.14 → github_agent-2.5.0}/README.md +4 -44
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_dependabot.py +2 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_orgs.py +4 -4
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_pages.py +2 -2
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_pulls.py +2 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/auth.py +0 -10
- github_agent-2.5.0/github_agent/connector_contracts.py +1191 -0
- github_agent-2.5.0/github_agent/mcp/__init__.py +1 -0
- github_agent-2.5.0/github_agent/mcp_server.py +439 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/ontology/certification.json +4 -4
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/ontology/github.ttl +12 -10
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/ontology/mappings/source.yaml +1 -2
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/ontology/shapes/connector.shacl.ttl +2 -2
- github_agent-2.5.0/github_agent/prompts/github-mcp-operator.json +347 -0
- github_agent-2.5.0/github_agent/prompts/github-mcp-release-manager.json +203 -0
- github_agent-2.5.0/github_agent/prompts/github-mcp-repository-administrator.json +171 -0
- github_agent-2.5.0/github_agent/prompts/github-mcp-triage-lead.json +147 -0
- github_agent-2.5.0/github_agent/skills/github-actions-ci-review/SKILL.md +42 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-agent-development/SKILL.md +1 -2
- github_agent-2.5.0/github_agent/skills/github-agent-operations/SKILL.md +61 -0
- github_agent-2.5.0/github_agent/skills/github-backlog-planner/SKILL.md +49 -0
- github_agent-2.5.0/github_agent/skills/github-ci-failure-sweep/SKILL.md +42 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-ci-failure-sweep/scripts/summarize_runs.py +1 -1
- github_agent-2.5.0/github_agent/skills/github-dependabot-review/SKILL.md +31 -0
- github_agent-2.5.0/github_agent/skills/github-issue-tracking/SKILL.md +38 -0
- github_agent-2.5.0/github_agent/skills/github-org-remediation-loop/SKILL.md +67 -0
- github_agent-2.5.0/github_agent/skills/github-pr-review-sweep/SKILL.md +55 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-pr-review-sweep/scripts/summarize_prs.py +7 -5
- github_agent-2.5.0/github_agent/skills/github-project-provisioner/SKILL.md +41 -0
- github_agent-2.5.0/github_agent/skills/github-pull-request-create/SKILL.md +35 -0
- github_agent-2.5.0/github_agent/skills/github-pull-request-review/SKILL.md +55 -0
- github_agent-2.5.0/github_agent/skills/github-repository-management/SKILL.md +69 -0
- github_agent-2.5.0/github_agent/skills/github-tools/SKILL.md +52 -0
- github_agent-2.5.0/github_agent/skills/github-triage-resolver/SKILL.md +51 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-triage-resolver/scripts/classify_safe.py +2 -2
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-triage-resolver/scripts/gh_write.py +3 -3
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent.egg-info/PKG-INFO +6 -46
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent.egg-info/SOURCES.txt +6 -36
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent.egg-info/requires.txt +1 -1
- {github_agent-2.4.14 → github_agent-2.5.0}/pyproject.toml +2 -2
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_cq_paths.py +1 -1
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_default_content_surfaces.py +2 -0
- github_agent-2.5.0/tests/test_destructive_declaration.py +86 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_ontology_parent_link.py +5 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_pages.py +0 -265
- github_agent-2.4.14/github_agent/mcp/__init__.py +0 -33
- github_agent-2.4.14/github_agent/mcp/mcp_action.py +0 -296
- github_agent-2.4.14/github_agent/mcp/mcp_branch.py +0 -153
- github_agent-2.4.14/github_agent/mcp/mcp_collaborator.py +0 -125
- github_agent-2.4.14/github_agent/mcp/mcp_commit.py +0 -94
- github_agent-2.4.14/github_agent/mcp/mcp_content.py +0 -168
- github_agent-2.4.14/github_agent/mcp/mcp_dependabot.py +0 -207
- github_agent-2.4.14/github_agent/mcp/mcp_issue.py +0 -188
- github_agent-2.4.14/github_agent/mcp/mcp_org.py +0 -359
- github_agent-2.4.14/github_agent/mcp/mcp_pull.py +0 -353
- github_agent-2.4.14/github_agent/mcp/mcp_release.py +0 -171
- github_agent-2.4.14/github_agent/mcp/mcp_repo.py +0 -528
- github_agent-2.4.14/github_agent/mcp/mcp_search.py +0 -82
- github_agent-2.4.14/github_agent/mcp_server.py +0 -3706
- github_agent-2.4.14/github_agent/skills/github-actions-ci-review/SKILL.md +0 -93
- github_agent-2.4.14/github_agent/skills/github-actions-ci-review/WORKFLOW.md +0 -82
- github_agent-2.4.14/github_agent/skills/github-agent-operations/SKILL.md +0 -33
- github_agent-2.4.14/github_agent/skills/github-agent-operations/agents/openai.yaml +0 -4
- github_agent-2.4.14/github_agent/skills/github-agent-operations/references/catalog.md +0 -17
- github_agent-2.4.14/github_agent/skills/github-backlog-planner/SKILL.md +0 -115
- github_agent-2.4.14/github_agent/skills/github-backlog-planner/WORKFLOW.md +0 -98
- github_agent-2.4.14/github_agent/skills/github-ci-failure-sweep/SKILL.md +0 -111
- github_agent-2.4.14/github_agent/skills/github-ci-failure-sweep/WORKFLOW.md +0 -96
- github_agent-2.4.14/github_agent/skills/github-ci-failure-sweep/references/actions-tool-cheatsheet.md +0 -60
- github_agent-2.4.14/github_agent/skills/github-dependabot-review/SKILL.md +0 -103
- github_agent-2.4.14/github_agent/skills/github-dependabot-review/WORKFLOW.md +0 -91
- github_agent-2.4.14/github_agent/skills/github-issue-tracking/SKILL.md +0 -95
- github_agent-2.4.14/github_agent/skills/github-issue-tracking/WORKFLOW.md +0 -83
- github_agent-2.4.14/github_agent/skills/github-org-remediation-loop/SKILL.md +0 -285
- github_agent-2.4.14/github_agent/skills/github-org-remediation-loop/WORKFLOW.md +0 -267
- github_agent-2.4.14/github_agent/skills/github-pr-review-sweep/SKILL.md +0 -114
- github_agent-2.4.14/github_agent/skills/github-pr-review-sweep/WORKFLOW.md +0 -95
- github_agent-2.4.14/github_agent/skills/github-pr-review-sweep/references/pulls-tool-cheatsheet.md +0 -42
- github_agent-2.4.14/github_agent/skills/github-project-provisioner/SKILL.md +0 -58
- github_agent-2.4.14/github_agent/skills/github-project-provisioner/WORKFLOW.md +0 -51
- github_agent-2.4.14/github_agent/skills/github-pull-request-create/SKILL.md +0 -81
- github_agent-2.4.14/github_agent/skills/github-pull-request-create/WORKFLOW.md +0 -70
- github_agent-2.4.14/github_agent/skills/github-pull-request-review/SKILL.md +0 -134
- github_agent-2.4.14/github_agent/skills/github-pull-request-review/WORKFLOW.md +0 -121
- github_agent-2.4.14/github_agent/skills/github-repository-management/SKILL.md +0 -102
- github_agent-2.4.14/github_agent/skills/github-repository-management/WORKFLOW.md +0 -90
- github_agent-2.4.14/github_agent/skills/github-tools/SKILL.md +0 -152
- github_agent-2.4.14/github_agent/skills/github-tools/WORKFLOW.md +0 -141
- github_agent-2.4.14/github_agent/skills/github-triage-resolver/SKILL.md +0 -122
- github_agent-2.4.14/github_agent/skills/github-triage-resolver/WORKFLOW.md +0 -99
- github_agent-2.4.14/tests/test_action_discovery.py +0 -177
- github_agent-2.4.14/tests/test_comment_crud.py +0 -890
- github_agent-2.4.14/tests/test_hardening.py +0 -114
- github_agent-2.4.14/tests/test_mcp_coverage.py +0 -1343
- github_agent-2.4.14/tests/test_mcp_package_dispatch.py +0 -785
- github_agent-2.4.14/tests/test_org_crud.py +0 -626
- github_agent-2.4.14/tests/test_repo_secrets_characterization.py +0 -198
- {github_agent-2.4.14 → github_agent-2.5.0}/LICENSE +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/__init__.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/__main__.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/__init__.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_base.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_branches.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_comments.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_commits.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_contents.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_issues.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_releases.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_repos.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_search.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api/api_client_workflows.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/api_client.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/connector_sources.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/connectors/__init__.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/github_gql.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/github_http.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/github_input_models.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/github_response_models.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/kg_ingest.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/mcp_config.json +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/ontology/__init__.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/ontology/fixtures/records.json +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/ontology/migrations/manifest.json +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/prompts/__init__.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/__init__.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-backlog-planner/references/addressed-heuristics.md +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-backlog-planner/scripts/build_plan.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-org-remediation-loop/scripts/classify_fix_risk.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-project-provisioner/scripts/enable_pages.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-tools/code-reviewer.md +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-tools/scripts/fetch_comments.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-tools/scripts/inspect_pr_checks.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent/skills/github-triage-resolver/references/resolution-rules.md +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent.egg-info/dependency_links.txt +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent.egg-info/entry_points.txt +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/github_agent.egg-info/top_level.txt +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/setup.cfg +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/conftest.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_api_client_endpoints.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_api_validation.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_auth_client_edge_cases.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_fleet_name.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_github_agent_api_brute_force_coverage.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_github_agent_brute_force_coverage.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_github_gql.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_github_http.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_ingest_sources.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_init_dynamics.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_kg_ingest.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_model_fields.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_skill_backlog_build_plan.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_skill_ci_failure_sweep_summarize_runs.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_skill_github_tools_fetch_comments.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_skill_github_tools_inspect_pr_checks.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_skill_org_remediation_classify_fix_risk.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_skill_pr_review_sweep_summarize_prs.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_skill_triage_resolver_classify_safe.py +0 -0
- {github_agent-2.4.14 → github_agent-2.5.0}/tests/test_startup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: github-agent
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5.0
|
|
4
4
|
Summary: GitHub Agent for MCP
|
|
5
5
|
Author-email: Repository Maintainers <maintainers@knuckles.team>
|
|
6
6
|
License: MIT
|
|
@@ -13,7 +13,7 @@ Requires-Python: >=3.12
|
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
15
|
Requires-Dist: requests>=2.34.2
|
|
16
|
-
Requires-Dist: scion-sdk[graphql,mcp]<0.
|
|
16
|
+
Requires-Dist: scion-sdk[graphql,mcp]<0.11,>=0.10.2
|
|
17
17
|
Provides-Extra: mcp
|
|
18
18
|
Provides-Extra: all
|
|
19
19
|
Provides-Extra: test
|
|
@@ -84,29 +84,9 @@ _Auto-generated from the live MCP server — do not edit by hand._
|
|
|
84
84
|
|
|
85
85
|
<!-- MCP-TOOLS-TABLE:START -->
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
Every operation is one typed tool; there are no action-routed tools.
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|----------|----------------|-------------|
|
|
91
|
-
| `github_actions` | `ACTIONTOOL` | Manage GitHub actions workflows and runs. |
|
|
92
|
-
| `github_branches` | `BRANCHTOOL` | Manage GitHub branches. |
|
|
93
|
-
| `github_collaborators` | `COLLABORATORTOOL` | Manage repository collaborators. |
|
|
94
|
-
| `github_comments` | `COMMENTTOOL` | Manage GitHub issue and pull-request comments. |
|
|
95
|
-
| `github_commits` | `COMMITTOOL` | Manage GitHub commits. |
|
|
96
|
-
| `github_contents` | `CONTENTTOOL` | Manage GitHub contents. |
|
|
97
|
-
| `github_dependabot` | `DEPENDABOTTOOL` | Review and manage GitHub Dependabot vulnerability alerts. |
|
|
98
|
-
| `github_discover_graphql_schema` | `GRAPHQLTOOL` | Discover the live GitHub GraphQL schema (types, fields, and attributes) in real-time. |
|
|
99
|
-
| `github_graphql` | `GRAPHQLTOOL` | Execute raw GraphQL queries and mutations natively on GitHub. |
|
|
100
|
-
| `github_ingest_pipelines` | `INGESTTOOL` | Natively ingest GitHub Actions workflow runs into epistemic-graph. |
|
|
101
|
-
| `github_ingest_repos` | `INGESTTOOL` | Natively ingest GitHub repositories into epistemic-graph as typed :Repository nodes. |
|
|
102
|
-
| `github_issues` | `ISSUETOOL` | Manage GitHub issues. |
|
|
103
|
-
| `github_orgs` | `ORGTOOL` | Manage GitHub organizations. |
|
|
104
|
-
| `github_pulls` | `PULLTOOL` | Manage GitHub pull requests and their review/merge lifecycle. |
|
|
105
|
-
| `github_releases` | `RELEASETOOL` | Manage repository releases. |
|
|
106
|
-
| `github_repos` | `REPOTOOL` | Manage GitHub repositories and their GitHub Pages sites. |
|
|
107
|
-
| `github_search` | `SEARCHTOOL` | Search GitHub repositories, issues, or code. |
|
|
108
|
-
|
|
109
|
-
#### Verbose 1:1 API-mapped tools (`MCP_TOOL_MODE=verbose` or `both`)
|
|
89
|
+
#### Typed per-operation tools
|
|
110
90
|
|
|
111
91
|
<details>
|
|
112
92
|
<summary>95 per-operation tools — one per public API method (click to expand)</summary>
|
|
@@ -267,7 +247,6 @@ When query strings or parameters are supplied, an LLM-free **Knowledge Graph res
|
|
|
267
247
|
"COMMITTOOL": "True",
|
|
268
248
|
"CONTENTTOOL": "True",
|
|
269
249
|
"DEPENDABOTTOOL": "True",
|
|
270
|
-
"GITHUB_ALLOW_DESTRUCTIVE": "False",
|
|
271
250
|
"GITHUB_HTTP_CONNECT_TIMEOUT": "10",
|
|
272
251
|
"GITHUB_HTTP_READ_TIMEOUT": "30",
|
|
273
252
|
"GITHUB_TOKEN": "your_github_token_here",
|
|
@@ -318,7 +297,6 @@ own runtime secret boundary.
|
|
|
318
297
|
"COMMITTOOL": "True",
|
|
319
298
|
"CONTENTTOOL": "True",
|
|
320
299
|
"DEPENDABOTTOOL": "True",
|
|
321
|
-
"GITHUB_ALLOW_DESTRUCTIVE": "False",
|
|
322
300
|
"GITHUB_HTTP_CONNECT_TIMEOUT": "10",
|
|
323
301
|
"GITHUB_HTTP_READ_TIMEOUT": "30",
|
|
324
302
|
"GITHUB_TOKEN": "your_github_token_here",
|
|
@@ -368,7 +346,6 @@ docker run -i --rm \
|
|
|
368
346
|
-e COMMITTOOL=True \
|
|
369
347
|
-e CONTENTTOOL=True \
|
|
370
348
|
-e DEPENDABOTTOOL=True \
|
|
371
|
-
-e GITHUB_ALLOW_DESTRUCTIVE=False \
|
|
372
349
|
-e GITHUB_HTTP_CONNECT_TIMEOUT=10 \
|
|
373
350
|
-e GITHUB_HTTP_READ_TIMEOUT=30 \
|
|
374
351
|
-e GITHUB_TOKEN=your_github_token_here \
|
|
@@ -432,7 +409,6 @@ the detailed transport contract.
|
|
|
432
409
|
| `TLS_PROFILE` | `private-ca` | AgentConfig named transport profile |
|
|
433
410
|
| `TLS_PROFILE_REF` | `secret://transport/provider` | Direct runtime profile reference |
|
|
434
411
|
| `TLS_PROFILES_REF` | `secret://transport/catalog` | Named runtime profile catalog |
|
|
435
|
-
| `GITHUB_ALLOW_DESTRUCTIVE` | `False` | Allow destructive (delete/force) operations |
|
|
436
412
|
| `GITHUB_HTTP_CONNECT_TIMEOUT` | `10` | HTTP client timeouts (seconds) |
|
|
437
413
|
| `GITHUB_HTTP_READ_TIMEOUT` | `30` | |
|
|
438
414
|
| `DEBUG` | `False` | |
|
|
@@ -498,24 +474,8 @@ Every variable the server reads.
|
|
|
498
474
|
| `DEBUG` | Verbose logging | `False` |
|
|
499
475
|
| `PYTHONUNBUFFERED` | Unbuffered stdout (recommended in containers) | `1` |
|
|
500
476
|
|
|
501
|
-
### Tool
|
|
502
|
-
|
|
503
|
-
The full list is in the [Available MCP Tools](#available-mcp-tools) table above.
|
|
504
|
-
|
|
505
|
-
| Variable | Tool | Default |
|
|
506
|
-
|----------|------|---------|
|
|
507
|
-
| `ACTIONTOOL` | `github_actions` — Actions workflows and runs | `True` |
|
|
508
|
-
| `BRANCHTOOL` | `github_branches` — branches | `True` |
|
|
509
|
-
| `COLLABORATORTOOL` | `github_collaborators` — repository collaborators | `True` |
|
|
510
|
-
| `COMMITTOOL` | `github_commits` — commits | `True` |
|
|
511
|
-
| `CONTENTTOOL` | `github_contents` — file contents | `True` |
|
|
512
|
-
| `INGESTTOOL` | `github_ingest_repos` — KG repository ingestion | `True` |
|
|
513
|
-
| `ISSUETOOL` | `github_issues` — issues | `True` |
|
|
514
|
-
| `ORGTOOL` | `github_orgs` — organizations | `True` |
|
|
515
|
-
| `PULLTOOL` | `github_pulls` — pull requests | `True` |
|
|
516
|
-
| `RELEASETOOL` | `github_releases` — releases | `True` |
|
|
517
|
-
| `REPOTOOL` | `github_repos` — repositories and Pages sites | `True` |
|
|
518
|
-
| `SEARCHTOOL` | `github_search` — search repositories, issues, code | `True` |
|
|
477
|
+
### Tool surface
|
|
478
|
+
The tool surface is the typed per-operation tools; there are no per-domain toggles.
|
|
519
479
|
|
|
520
480
|
### Telemetry & governance
|
|
521
481
|
| Variable | Description | Default |
|
|
@@ -60,29 +60,9 @@ _Auto-generated from the live MCP server — do not edit by hand._
|
|
|
60
60
|
|
|
61
61
|
<!-- MCP-TOOLS-TABLE:START -->
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Every operation is one typed tool; there are no action-routed tools.
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|----------|----------------|-------------|
|
|
67
|
-
| `github_actions` | `ACTIONTOOL` | Manage GitHub actions workflows and runs. |
|
|
68
|
-
| `github_branches` | `BRANCHTOOL` | Manage GitHub branches. |
|
|
69
|
-
| `github_collaborators` | `COLLABORATORTOOL` | Manage repository collaborators. |
|
|
70
|
-
| `github_comments` | `COMMENTTOOL` | Manage GitHub issue and pull-request comments. |
|
|
71
|
-
| `github_commits` | `COMMITTOOL` | Manage GitHub commits. |
|
|
72
|
-
| `github_contents` | `CONTENTTOOL` | Manage GitHub contents. |
|
|
73
|
-
| `github_dependabot` | `DEPENDABOTTOOL` | Review and manage GitHub Dependabot vulnerability alerts. |
|
|
74
|
-
| `github_discover_graphql_schema` | `GRAPHQLTOOL` | Discover the live GitHub GraphQL schema (types, fields, and attributes) in real-time. |
|
|
75
|
-
| `github_graphql` | `GRAPHQLTOOL` | Execute raw GraphQL queries and mutations natively on GitHub. |
|
|
76
|
-
| `github_ingest_pipelines` | `INGESTTOOL` | Natively ingest GitHub Actions workflow runs into epistemic-graph. |
|
|
77
|
-
| `github_ingest_repos` | `INGESTTOOL` | Natively ingest GitHub repositories into epistemic-graph as typed :Repository nodes. |
|
|
78
|
-
| `github_issues` | `ISSUETOOL` | Manage GitHub issues. |
|
|
79
|
-
| `github_orgs` | `ORGTOOL` | Manage GitHub organizations. |
|
|
80
|
-
| `github_pulls` | `PULLTOOL` | Manage GitHub pull requests and their review/merge lifecycle. |
|
|
81
|
-
| `github_releases` | `RELEASETOOL` | Manage repository releases. |
|
|
82
|
-
| `github_repos` | `REPOTOOL` | Manage GitHub repositories and their GitHub Pages sites. |
|
|
83
|
-
| `github_search` | `SEARCHTOOL` | Search GitHub repositories, issues, or code. |
|
|
84
|
-
|
|
85
|
-
#### Verbose 1:1 API-mapped tools (`MCP_TOOL_MODE=verbose` or `both`)
|
|
65
|
+
#### Typed per-operation tools
|
|
86
66
|
|
|
87
67
|
<details>
|
|
88
68
|
<summary>95 per-operation tools — one per public API method (click to expand)</summary>
|
|
@@ -243,7 +223,6 @@ When query strings or parameters are supplied, an LLM-free **Knowledge Graph res
|
|
|
243
223
|
"COMMITTOOL": "True",
|
|
244
224
|
"CONTENTTOOL": "True",
|
|
245
225
|
"DEPENDABOTTOOL": "True",
|
|
246
|
-
"GITHUB_ALLOW_DESTRUCTIVE": "False",
|
|
247
226
|
"GITHUB_HTTP_CONNECT_TIMEOUT": "10",
|
|
248
227
|
"GITHUB_HTTP_READ_TIMEOUT": "30",
|
|
249
228
|
"GITHUB_TOKEN": "your_github_token_here",
|
|
@@ -294,7 +273,6 @@ own runtime secret boundary.
|
|
|
294
273
|
"COMMITTOOL": "True",
|
|
295
274
|
"CONTENTTOOL": "True",
|
|
296
275
|
"DEPENDABOTTOOL": "True",
|
|
297
|
-
"GITHUB_ALLOW_DESTRUCTIVE": "False",
|
|
298
276
|
"GITHUB_HTTP_CONNECT_TIMEOUT": "10",
|
|
299
277
|
"GITHUB_HTTP_READ_TIMEOUT": "30",
|
|
300
278
|
"GITHUB_TOKEN": "your_github_token_here",
|
|
@@ -344,7 +322,6 @@ docker run -i --rm \
|
|
|
344
322
|
-e COMMITTOOL=True \
|
|
345
323
|
-e CONTENTTOOL=True \
|
|
346
324
|
-e DEPENDABOTTOOL=True \
|
|
347
|
-
-e GITHUB_ALLOW_DESTRUCTIVE=False \
|
|
348
325
|
-e GITHUB_HTTP_CONNECT_TIMEOUT=10 \
|
|
349
326
|
-e GITHUB_HTTP_READ_TIMEOUT=30 \
|
|
350
327
|
-e GITHUB_TOKEN=your_github_token_here \
|
|
@@ -408,7 +385,6 @@ the detailed transport contract.
|
|
|
408
385
|
| `TLS_PROFILE` | `private-ca` | AgentConfig named transport profile |
|
|
409
386
|
| `TLS_PROFILE_REF` | `secret://transport/provider` | Direct runtime profile reference |
|
|
410
387
|
| `TLS_PROFILES_REF` | `secret://transport/catalog` | Named runtime profile catalog |
|
|
411
|
-
| `GITHUB_ALLOW_DESTRUCTIVE` | `False` | Allow destructive (delete/force) operations |
|
|
412
388
|
| `GITHUB_HTTP_CONNECT_TIMEOUT` | `10` | HTTP client timeouts (seconds) |
|
|
413
389
|
| `GITHUB_HTTP_READ_TIMEOUT` | `30` | |
|
|
414
390
|
| `DEBUG` | `False` | |
|
|
@@ -474,24 +450,8 @@ Every variable the server reads.
|
|
|
474
450
|
| `DEBUG` | Verbose logging | `False` |
|
|
475
451
|
| `PYTHONUNBUFFERED` | Unbuffered stdout (recommended in containers) | `1` |
|
|
476
452
|
|
|
477
|
-
### Tool
|
|
478
|
-
|
|
479
|
-
The full list is in the [Available MCP Tools](#available-mcp-tools) table above.
|
|
480
|
-
|
|
481
|
-
| Variable | Tool | Default |
|
|
482
|
-
|----------|------|---------|
|
|
483
|
-
| `ACTIONTOOL` | `github_actions` — Actions workflows and runs | `True` |
|
|
484
|
-
| `BRANCHTOOL` | `github_branches` — branches | `True` |
|
|
485
|
-
| `COLLABORATORTOOL` | `github_collaborators` — repository collaborators | `True` |
|
|
486
|
-
| `COMMITTOOL` | `github_commits` — commits | `True` |
|
|
487
|
-
| `CONTENTTOOL` | `github_contents` — file contents | `True` |
|
|
488
|
-
| `INGESTTOOL` | `github_ingest_repos` — KG repository ingestion | `True` |
|
|
489
|
-
| `ISSUETOOL` | `github_issues` — issues | `True` |
|
|
490
|
-
| `ORGTOOL` | `github_orgs` — organizations | `True` |
|
|
491
|
-
| `PULLTOOL` | `github_pulls` — pull requests | `True` |
|
|
492
|
-
| `RELEASETOOL` | `github_releases` — releases | `True` |
|
|
493
|
-
| `REPOTOOL` | `github_repos` — repositories and Pages sites | `True` |
|
|
494
|
-
| `SEARCHTOOL` | `github_search` — search repositories, issues, code | `True` |
|
|
453
|
+
### Tool surface
|
|
454
|
+
The tool surface is the typed per-operation tools; there are no per-domain toggles.
|
|
495
455
|
|
|
496
456
|
### Telemetry & governance
|
|
497
457
|
| Variable | Description | Default |
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
from typing import Any
|
|
3
3
|
|
|
4
4
|
from scion_sdk.exceptions import require_auth
|
|
5
|
+
from scion_sdk.mcp.destructive import destructive_operation
|
|
5
6
|
|
|
6
7
|
from github_agent.api.api_client_base import BaseApiClient
|
|
7
8
|
from github_agent.github_response_models import Response
|
|
@@ -59,6 +60,7 @@ class Api(BaseApiClient):
|
|
|
59
60
|
response.raise_for_status()
|
|
60
61
|
return Response(response=response, data=response.json())
|
|
61
62
|
|
|
63
|
+
@destructive_operation
|
|
62
64
|
@require_auth
|
|
63
65
|
def update_dependabot_alert(
|
|
64
66
|
self,
|
|
@@ -111,8 +111,8 @@ class Api(BaseApiClient):
|
|
|
111
111
|
"""Schedule an organization for deletion. IRREVERSIBLE.
|
|
112
112
|
|
|
113
113
|
GitHub responds 202 Accepted and deletes the organization, all of its
|
|
114
|
-
repositories, and all of its data asynchronously. The
|
|
115
|
-
|
|
114
|
+
repositories, and all of its data asynchronously. The SDK asks
|
|
115
|
+
the caller to confirm this action.
|
|
116
116
|
|
|
117
117
|
DELETE /orgs/{org}
|
|
118
118
|
https://docs.github.com/en/rest/orgs/orgs#delete-an-organization
|
|
@@ -240,8 +240,8 @@ class Api(BaseApiClient):
|
|
|
240
240
|
def remove_organization_member(self, org: str, username: str) -> Response:
|
|
241
241
|
"""Remove a user from an organization (repositories access included).
|
|
242
242
|
|
|
243
|
-
Destructive: the
|
|
244
|
-
|
|
243
|
+
Destructive: the SDK asks the caller to confirm this
|
|
244
|
+
action. GitHub responds 204.
|
|
245
245
|
|
|
246
246
|
DELETE /orgs/{org}/members/{username}
|
|
247
247
|
https://docs.github.com/en/rest/orgs/members#remove-an-organization-member
|
|
@@ -150,8 +150,8 @@ class Api(BaseApiClient):
|
|
|
150
150
|
def delete_pages(self, owner: str, repo: str) -> Response:
|
|
151
151
|
"""Disable GitHub Pages for a repository and delete the site.
|
|
152
152
|
|
|
153
|
-
Destructive: the
|
|
154
|
-
|
|
153
|
+
Destructive: the SDK asks the caller to confirm this
|
|
154
|
+
action. GitHub responds 204.
|
|
155
155
|
|
|
156
156
|
DELETE /repos/{owner}/{repo}/pages
|
|
157
157
|
https://docs.github.com/en/rest/pages/pages#delete-a-apiname-pages-site
|
|
@@ -5,6 +5,7 @@ from scion_sdk.exceptions import (
|
|
|
5
5
|
ParameterError,
|
|
6
6
|
require_auth,
|
|
7
7
|
)
|
|
8
|
+
from scion_sdk.mcp.destructive import destructive_operation
|
|
8
9
|
|
|
9
10
|
from github_agent.api.api_client_base import BaseApiClient
|
|
10
11
|
from github_agent.github_input_models import (
|
|
@@ -107,6 +108,7 @@ class Api(BaseApiClient):
|
|
|
107
108
|
response.raise_for_status()
|
|
108
109
|
return Response(response=response, data=response.json())
|
|
109
110
|
|
|
111
|
+
@destructive_operation
|
|
110
112
|
@require_auth
|
|
111
113
|
def merge_pull_request(
|
|
112
114
|
self,
|
|
@@ -21,16 +21,6 @@ from github_agent.api_client import Api
|
|
|
21
21
|
logger = get_logger(__name__)
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
def allow_destructive_default() -> bool:
|
|
25
|
-
"""Fleet-wide default for the destructive-action gate.
|
|
26
|
-
|
|
27
|
-
Destructive MCP actions (e.g. organization delete, member removal) are
|
|
28
|
-
blocked unless the caller passes allow_destructive=true or the
|
|
29
|
-
GITHUB_ALLOW_DESTRUCTIVE environment variable is set truthy.
|
|
30
|
-
"""
|
|
31
|
-
return setting("GITHUB_ALLOW_DESTRUCTIVE", False)
|
|
32
|
-
|
|
33
|
-
|
|
34
24
|
def _exchange_delegated_token(settings: DelegationSettings) -> str:
|
|
35
25
|
"""Exchange the caller's verified MCP token for a downstream GitHub token."""
|
|
36
26
|
logger.info(
|