github-agent 1.4.1__tar.gz → 2.4.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.
- {github_agent-1.4.1 → github_agent-2.4.1}/PKG-INFO +134 -119
- {github_agent-1.4.1 → github_agent-2.4.1}/README.md +125 -107
- github_agent-2.4.1/github_agent/__init__.py +1 -0
- github_agent-2.4.1/github_agent/__main__.py +4 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_base.py +22 -21
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_branches.py +2 -14
- github_agent-2.4.1/github_agent/api/api_client_comments.py +333 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_commits.py +2 -4
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_contents.py +2 -10
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_dependabot.py +1 -9
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_issues.py +2 -8
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_orgs.py +2 -20
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_pages.py +2 -14
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_pulls.py +2 -14
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_releases.py +2 -12
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_repos.py +20 -24
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_search.py +2 -2
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/api_client_workflows.py +2 -18
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api_client.py +2 -0
- github_agent-2.4.1/github_agent/auth.py +133 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/connectors/mcp_source_presets.json +2 -3
- github_agent-2.4.1/github_agent/connectors/tool_schema_fingerprints.json +8 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/github_gql.py +23 -9
- github_agent-2.4.1/github_agent/github_http.py +120 -0
- github_agent-2.4.1/github_agent/kg_ingest.py +491 -0
- github_agent-2.4.1/github_agent/mcp/mcp_action.py +296 -0
- github_agent-2.4.1/github_agent/mcp/mcp_branch.py +153 -0
- github_agent-2.4.1/github_agent/mcp/mcp_collaborator.py +125 -0
- github_agent-2.4.1/github_agent/mcp/mcp_commit.py +94 -0
- github_agent-2.4.1/github_agent/mcp/mcp_content.py +168 -0
- github_agent-2.4.1/github_agent/mcp/mcp_dependabot.py +207 -0
- github_agent-2.4.1/github_agent/mcp/mcp_issue.py +188 -0
- github_agent-2.4.1/github_agent/mcp/mcp_org.py +359 -0
- github_agent-2.4.1/github_agent/mcp/mcp_pull.py +353 -0
- github_agent-2.4.1/github_agent/mcp/mcp_release.py +171 -0
- github_agent-2.4.1/github_agent/mcp/mcp_repo.py +528 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/mcp/mcp_search.py +7 -2
- github_agent-2.4.1/github_agent/mcp_server.py +3698 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/ontology/__init__.py +2 -2
- github_agent-2.4.1/github_agent/ontology/certification.json +36 -0
- github_agent-2.4.1/github_agent/ontology/fixtures/records.json +21 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/ontology/github.ttl +1 -1
- github_agent-2.4.1/github_agent/ontology/mappings/source.yaml +20 -0
- github_agent-2.4.1/github_agent/ontology/migrations/manifest.json +6 -0
- github_agent-2.4.1/github_agent/ontology/shapes/connector.shacl.ttl +224 -0
- github_agent-2.4.1/github_agent/skills/github-actions-ci-review/WORKFLOW.md +82 -0
- github_agent-2.4.1/github_agent/skills/github-agent-operations/SKILL.md +33 -0
- github_agent-2.4.1/github_agent/skills/github-agent-operations/agents/openai.yaml +4 -0
- github_agent-2.4.1/github_agent/skills/github-agent-operations/references/catalog.md +17 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-backlog-planner/SKILL.md +8 -6
- github_agent-2.4.1/github_agent/skills/github-backlog-planner/WORKFLOW.md +98 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-backlog-planner/scripts/build_plan.py +92 -63
- github_agent-2.4.1/github_agent/skills/github-ci-failure-sweep/WORKFLOW.md +96 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-ci-failure-sweep/scripts/summarize_runs.py +69 -34
- github_agent-2.4.1/github_agent/skills/github-dependabot-review/WORKFLOW.md +91 -0
- github_agent-2.4.1/github_agent/skills/github-issue-tracking/WORKFLOW.md +83 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-org-remediation-loop/SKILL.md +9 -19
- github_agent-2.4.1/github_agent/skills/github-org-remediation-loop/WORKFLOW.md +267 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-org-remediation-loop/scripts/classify_fix_risk.py +43 -15
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-pr-review-sweep/SKILL.md +10 -8
- github_agent-2.4.1/github_agent/skills/github-pr-review-sweep/WORKFLOW.md +95 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-pr-review-sweep/scripts/summarize_prs.py +48 -30
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-project-provisioner/SKILL.md +1 -1
- github_agent-2.4.1/github_agent/skills/github-project-provisioner/WORKFLOW.md +51 -0
- github_agent-2.4.1/github_agent/skills/github-project-provisioner/scripts/enable_pages.py +54 -0
- github_agent-2.4.1/github_agent/skills/github-pull-request-create/WORKFLOW.md +70 -0
- github_agent-2.4.1/github_agent/skills/github-pull-request-review/WORKFLOW.md +121 -0
- github_agent-2.4.1/github_agent/skills/github-repository-management/WORKFLOW.md +90 -0
- github_agent-2.4.1/github_agent/skills/github-tools/WORKFLOW.md +141 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-tools/scripts/fetch_comments.py +31 -27
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-tools/scripts/inspect_pr_checks.py +127 -81
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-triage-resolver/SKILL.md +20 -14
- github_agent-2.4.1/github_agent/skills/github-triage-resolver/WORKFLOW.md +99 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-triage-resolver/references/resolution-rules.md +16 -10
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-triage-resolver/scripts/classify_safe.py +146 -73
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-triage-resolver/scripts/gh_write.py +28 -52
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent.egg-info/PKG-INFO +134 -119
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent.egg-info/SOURCES.txt +35 -5
- github_agent-2.4.1/github_agent.egg-info/entry_points.txt +11 -0
- github_agent-2.4.1/github_agent.egg-info/requires.txt +12 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent.egg-info/top_level.txt +3 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/pyproject.toml +22 -16
- github_agent-2.4.1/scripts/security_sanitizer.py +318 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/scripts/verify_api_integration.py +153 -112
- github_agent-2.4.1/tests/conftest.py +98 -0
- github_agent-2.4.1/tests/test_action_discovery.py +177 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_api_client_endpoints.py +5 -3
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_api_validation.py +5 -3
- github_agent-2.4.1/tests/test_auth_client_edge_cases.py +182 -0
- github_agent-2.4.1/tests/test_comment_crud.py +890 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_github_agent_api_brute_force_coverage.py +89 -70
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_github_agent_brute_force_coverage.py +61 -64
- github_agent-2.4.1/tests/test_github_gql.py +55 -0
- github_agent-2.4.1/tests/test_github_http.py +165 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_hardening.py +1 -5
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_init_dynamics.py +4 -1
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_kg_ingest.py +111 -117
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_mcp_coverage.py +276 -15
- github_agent-2.4.1/tests/test_mcp_package_dispatch.py +725 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_org_crud.py +54 -15
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_pages.py +2 -12
- github_agent-2.4.1/tests/test_repo_secrets_characterization.py +198 -0
- github_agent-2.4.1/tests/test_skill_backlog_build_plan.py +150 -0
- github_agent-2.4.1/tests/test_skill_ci_failure_sweep_summarize_runs.py +128 -0
- github_agent-2.4.1/tests/test_skill_github_tools_fetch_comments.py +108 -0
- github_agent-2.4.1/tests/test_skill_github_tools_inspect_pr_checks.py +179 -0
- github_agent-2.4.1/tests/test_skill_org_remediation_classify_fix_risk.py +163 -0
- github_agent-2.4.1/tests/test_skill_pr_review_sweep_summarize_prs.py +138 -0
- github_agent-2.4.1/tests/test_skill_triage_resolver_classify_safe.py +286 -0
- github_agent-2.4.1/tests/test_startup.py +30 -0
- github_agent-1.4.1/github_agent/__init__.py +0 -1
- github_agent-1.4.1/github_agent/__main__.py +0 -4
- github_agent-1.4.1/github_agent/agent_server.py +0 -85
- github_agent-1.4.1/github_agent/auth.py +0 -145
- github_agent-1.4.1/github_agent/kg_ingest.py +0 -478
- github_agent-1.4.1/github_agent/mcp/mcp_action.py +0 -271
- github_agent-1.4.1/github_agent/mcp/mcp_branch.py +0 -126
- github_agent-1.4.1/github_agent/mcp/mcp_collaborator.py +0 -107
- github_agent-1.4.1/github_agent/mcp/mcp_commit.py +0 -81
- github_agent-1.4.1/github_agent/mcp/mcp_content.py +0 -154
- github_agent-1.4.1/github_agent/mcp/mcp_dependabot.py +0 -172
- github_agent-1.4.1/github_agent/mcp/mcp_issue.py +0 -157
- github_agent-1.4.1/github_agent/mcp/mcp_org.py +0 -300
- github_agent-1.4.1/github_agent/mcp/mcp_pull.py +0 -278
- github_agent-1.4.1/github_agent/mcp/mcp_release.py +0 -159
- github_agent-1.4.1/github_agent/mcp/mcp_repo.py +0 -461
- github_agent-1.4.1/github_agent/mcp_server.py +0 -2558
- github_agent-1.4.1/github_agent/prompts/code_collaboration_specialist.json +0 -43
- github_agent-1.4.1/github_agent/prompts/main_agent.json +0 -20
- github_agent-1.4.1/github_agent/skills/github-project-provisioner/scripts/enable_pages.py +0 -53
- github_agent-1.4.1/github_agent.egg-info/entry_points.txt +0 -15
- github_agent-1.4.1/github_agent.egg-info/requires.txt +0 -16
- github_agent-1.4.1/scripts/security_sanitizer.py +0 -160
- github_agent-1.4.1/scripts/validate_a2a_agent.py +0 -139
- github_agent-1.4.1/tests/conftest.py +0 -11
- github_agent-1.4.1/tests/test_action_discovery.py +0 -87
- github_agent-1.4.1/tests/test_auth_client_edge_cases.py +0 -198
- github_agent-1.4.1/tests/test_concept_parity.py +0 -87
- github_agent-1.4.1/tests/test_github_gql.py +0 -35
- github_agent-1.4.1/tests/test_startup.py +0 -38
- {github_agent-1.4.1 → github_agent-2.4.1}/LICENSE +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/api/__init__.py +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/connectors/__init__.py +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/github_input_models.py +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/github_response_models.py +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/mcp/__init__.py +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/mcp_config.json +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/prompts/__init__.py +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/__init__.py +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-actions-ci-review/SKILL.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-backlog-planner/references/addressed-heuristics.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-ci-failure-sweep/SKILL.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-ci-failure-sweep/references/actions-tool-cheatsheet.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-dependabot-review/SKILL.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-issue-tracking/SKILL.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-pr-review-sweep/references/pulls-tool-cheatsheet.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-pull-request-create/SKILL.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-pull-request-review/SKILL.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-repository-management/SKILL.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-tools/SKILL.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent/skills/github-tools/code-reviewer.md +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/github_agent.egg-info/dependency_links.txt +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/setup.cfg +0 -0
- {github_agent-1.4.1 → github_agent-2.4.1}/tests/test_model_fields.py +0 -0
|
@@ -1,33 +1,30 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: github-agent
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: GitHub Agent for MCP
|
|
5
|
-
Author-email:
|
|
5
|
+
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
7
7
|
Classifier: Development Status :: 5 - Production/Stable
|
|
8
8
|
Classifier: License :: Public Domain
|
|
9
9
|
Classifier: Environment :: Console
|
|
10
10
|
Classifier: Operating System :: POSIX :: Linux
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Requires-Python:
|
|
12
|
+
Requires-Python: >=3.12
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist:
|
|
16
|
-
Requires-Dist:
|
|
15
|
+
Requires-Dist: gql[requests]>=4.4.0
|
|
16
|
+
Requires-Dist: requests>=2.34.2
|
|
17
|
+
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.5
|
|
17
18
|
Provides-Extra: mcp
|
|
18
|
-
Requires-Dist: agent-utilities[mcp]>=1.0.0; extra == "mcp"
|
|
19
|
-
Provides-Extra: agent
|
|
20
|
-
Requires-Dist: agent-utilities[agent,logfire]>=1.0.0; extra == "agent"
|
|
21
19
|
Provides-Extra: all
|
|
22
|
-
Requires-Dist: agent-utilities[agent,logfire,mcp]>=1.0.0; extra == "all"
|
|
23
20
|
Provides-Extra: test
|
|
24
|
-
Requires-Dist: pytest-xdist>=3.
|
|
25
|
-
Requires-Dist: pytest; extra == "test"
|
|
26
|
-
Requires-Dist: pytest-asyncio; extra == "test"
|
|
21
|
+
Requires-Dist: pytest-xdist>=3.8.0; extra == "test"
|
|
22
|
+
Requires-Dist: pytest>=9.1.1; extra == "test"
|
|
23
|
+
Requires-Dist: pytest-asyncio>=1.4.0; extra == "test"
|
|
27
24
|
Dynamic: license-file
|
|
28
25
|
|
|
29
26
|
# Github Agent
|
|
30
|
-
## CLI or API | MCP
|
|
27
|
+
## CLI or API | MCP
|
|
31
28
|
|
|
32
29
|

|
|
33
30
|

|
|
@@ -48,10 +45,9 @@ Dynamic: license-file
|
|
|
48
45
|

|
|
49
46
|

|
|
50
47
|
|
|
51
|
-
*Version:
|
|
48
|
+
*Version: 2.4.1*
|
|
52
49
|
|
|
53
50
|
> **Documentation** — Installation, deployment, and usage across the MCP, API, and
|
|
54
|
-
> CLI interfaces, including the integrated A2A agent server, are maintained in the
|
|
55
51
|
> [official documentation](https://knuckles-team.github.io/github-agent/).
|
|
56
52
|
|
|
57
53
|
---
|
|
@@ -65,7 +61,7 @@ Dynamic: license-file
|
|
|
65
61
|
## Key Features
|
|
66
62
|
|
|
67
63
|
- **Consolidated Action-Routed MCP Tools:** Minimizes token overhead and eliminates tool bloat in LLM contexts by grouping methods into optimized, togglable tool modules.
|
|
68
|
-
- **Enterprise-Grade Security:**
|
|
64
|
+
- **Enterprise-Grade Security:** Complete support for Eunomia policies, OIDC token delegation, and granular execution context tracking.
|
|
69
65
|
- **Integrated Graph Agent:** Built-in Pydantic AI agent supporting the Agent Control Protocol (ACP) and standard Web interfaces (AG-UI).
|
|
70
66
|
- **Native Telemetry & Tracing:** Out-of-the-box OpenTelemetry exports and native Langfuse tracing.
|
|
71
67
|
|
|
@@ -73,7 +69,7 @@ Dynamic: license-file
|
|
|
73
69
|
|
|
74
70
|
## CLI or API
|
|
75
71
|
|
|
76
|
-
This agent wraps the GitHub Agent for MCP API.
|
|
72
|
+
This agent wraps the GitHub Agent for MCP API. The operator can interact with it programmatically or via its integrated execution entrypoints.
|
|
77
73
|
|
|
78
74
|
Detailed instructions on how to use the underlying API wrappers, extended schema bindings, and developer SDK references are maintained in [docs/index.md](docs/index.md).
|
|
79
75
|
|
|
@@ -81,7 +77,7 @@ Detailed instructions on how to use the underlying API wrappers, extended schema
|
|
|
81
77
|
|
|
82
78
|
## MCP
|
|
83
79
|
|
|
84
|
-
This server
|
|
80
|
+
This server use dynamic Action-Routed tools to optimize token overhead and maximize IDE compatibility.
|
|
85
81
|
|
|
86
82
|
### Available MCP Tools
|
|
87
83
|
|
|
@@ -89,13 +85,14 @@ _Auto-generated from the live MCP server — do not edit by hand._
|
|
|
89
85
|
|
|
90
86
|
<!-- MCP-TOOLS-TABLE:START -->
|
|
91
87
|
|
|
92
|
-
#### Condensed action-routed tools (
|
|
88
|
+
#### Condensed action-routed tools (`MCP_TOOL_MODE=condensed`)
|
|
93
89
|
|
|
94
90
|
| MCP Tool | Toggle Env Var | Description |
|
|
95
91
|
|----------|----------------|-------------|
|
|
96
92
|
| `github_actions` | `ACTIONTOOL` | Manage GitHub actions workflows and runs. |
|
|
97
93
|
| `github_branches` | `BRANCHTOOL` | Manage GitHub branches. |
|
|
98
94
|
| `github_collaborators` | `COLLABORATORTOOL` | Manage repository collaborators. |
|
|
95
|
+
| `github_comments` | `COMMENTTOOL` | Manage GitHub issue and pull-request comments. |
|
|
99
96
|
| `github_commits` | `COMMITTOOL` | Manage GitHub commits. |
|
|
100
97
|
| `github_contents` | `CONTENTTOOL` | Manage GitHub contents. |
|
|
101
98
|
| `github_dependabot` | `DEPENDABOTTOOL` | Review and manage GitHub Dependabot vulnerability alerts. |
|
|
@@ -113,15 +110,17 @@ _Auto-generated from the live MCP server — do not edit by hand._
|
|
|
113
110
|
#### Verbose 1:1 API-mapped tools (`MCP_TOOL_MODE=verbose` or `both`)
|
|
114
111
|
|
|
115
112
|
<details>
|
|
116
|
-
<summary>
|
|
113
|
+
<summary>95 per-operation tools — one per public API method (click to expand)</summary>
|
|
117
114
|
|
|
118
115
|
| MCP Tool | Toggle Env Var | Description |
|
|
119
116
|
|----------|----------------|-------------|
|
|
120
117
|
| `github_add_collaborator` | `APITOOL` | Add a collaborator to a repository. |
|
|
121
118
|
| `github_cancel_workflow_run` | `APITOOL` | Cancel a workflow run. |
|
|
122
119
|
| `github_create_branch` | `APITOOL` | Create a new branch in a repository (using git ref creation). |
|
|
120
|
+
| `github_create_commit_comment` | `APITOOL` | Create a comment on a commit. |
|
|
123
121
|
| `github_create_content` | `APITOOL` | Create a file in a repository. |
|
|
124
122
|
| `github_create_issue` | `APITOOL` | Create a new issue in a repository. |
|
|
123
|
+
| `github_create_issue_comment` | `APITOOL` | Create a comment on an issue or pull request. |
|
|
125
124
|
| `github_create_or_update_repo_secret` | `APITOOL` | Create or update a repository Actions secret. |
|
|
126
125
|
| `github_create_organization` | `APITOOL` | Create an organization — GitHub Enterprise Server ONLY. |
|
|
127
126
|
| `github_create_organization_repository` | `APITOOL` | Create a repository in an organization. |
|
|
@@ -129,26 +128,33 @@ _Auto-generated from the live MCP server — do not edit by hand._
|
|
|
129
128
|
| `github_create_pull_request` | `APITOOL` | Create a new pull request in a repository. |
|
|
130
129
|
| `github_create_pull_request_review` | `APITOOL` | Create a review on a pull request. |
|
|
131
130
|
| `github_create_release` | `APITOOL` | Create a new repository release. |
|
|
132
|
-
| `github_create_repository` | `APITOOL` | Create a
|
|
131
|
+
| `github_create_repository` | `APITOOL` | Create a repository for the authenticated user, or for an organization when 'org' is given. |
|
|
132
|
+
| `github_create_review_comment` | `APITOOL` | Create an inline review comment on a pull request's diff. |
|
|
133
|
+
| `github_create_review_comment_reply` | `APITOOL` | Reply to an existing pull-request review comment thread. |
|
|
133
134
|
| `github_delete_branch` | `APITOOL` | Delete a branch in a repository. |
|
|
134
135
|
| `github_delete_branch_protection` | `APITOOL` | Delete branch protection configuration. |
|
|
136
|
+
| `github_delete_commit_comment` | `APITOOL` | Permanently delete a commit comment. |
|
|
135
137
|
| `github_delete_content` | `APITOOL` | Delete a file in a repository. |
|
|
138
|
+
| `github_delete_issue_comment` | `APITOOL` | Permanently delete an issue/PR comment. |
|
|
136
139
|
| `github_delete_organization` | `APITOOL` | Schedule an organization for deletion. IRREVERSIBLE. |
|
|
137
140
|
| `github_delete_pages` | `APITOOL` | Disable GitHub Pages for a repository and delete the site. |
|
|
138
141
|
| `github_delete_release` | `APITOOL` | Delete a repository release. |
|
|
139
142
|
| `github_delete_repo_secret` | `APITOOL` | Delete a repository Actions secret. |
|
|
140
143
|
| `github_delete_repository` | `APITOOL` | Delete a repository. |
|
|
144
|
+
| `github_delete_review_comment` | `APITOOL` | Permanently delete a pull-request review comment. |
|
|
141
145
|
| `github_delete_workflow_run` | `APITOOL` | Delete a workflow run. |
|
|
142
146
|
| `github_get_branch` | `APITOOL` | Get a single branch in a repository. |
|
|
143
147
|
| `github_get_branch_protection` | `APITOOL` | Get branch protection configuration. |
|
|
144
148
|
| `github_get_branches` | `APITOOL` | List branches for a repository. |
|
|
145
149
|
| `github_get_collaborators` | `APITOOL` | List collaborators for a repository. |
|
|
146
150
|
| `github_get_commit` | `APITOOL` | Get a single commit in a repository. |
|
|
151
|
+
| `github_get_commit_comment` | `APITOOL` | Get a single commit comment. |
|
|
147
152
|
| `github_get_commits` | `APITOOL` | List commits for a repository. |
|
|
148
153
|
| `github_get_contents` | `APITOOL` | Get contents of a file or directory in a repository. |
|
|
149
154
|
| `github_get_dependabot_alert` | `APITOOL` | Get a single Dependabot alert. |
|
|
150
155
|
| `github_get_dependabot_alerts` | `APITOOL` | List Dependabot alerts for a repository. |
|
|
151
156
|
| `github_get_issue` | `APITOOL` | Get a single issue in a repository. |
|
|
157
|
+
| `github_get_issue_comment` | `APITOOL` | Get a single issue/PR comment. |
|
|
152
158
|
| `github_get_issues` | `APITOOL` | List issues for a repository. |
|
|
153
159
|
| `github_get_org_dependabot_alerts` | `APITOOL` | List Dependabot alerts for an entire organization. |
|
|
154
160
|
| `github_get_org_members` | `APITOOL` | List members for an organization. |
|
|
@@ -166,13 +172,20 @@ _Auto-generated from the live MCP server — do not edit by hand._
|
|
|
166
172
|
| `github_get_repo_secrets` | `APITOOL` | List repository Actions secrets names. |
|
|
167
173
|
| `github_get_repositories` | `APITOOL` | List repositories for the authenticated user. |
|
|
168
174
|
| `github_get_repository` | `APITOOL` | Get a specific repository. |
|
|
175
|
+
| `github_get_review_comment` | `APITOOL` | Get a single pull-request review comment. |
|
|
169
176
|
| `github_get_workflow_job_logs` | `APITOOL` | Download the plaintext logs for a single workflow job. |
|
|
170
177
|
| `github_get_workflow_run` | `APITOOL` | Get a single workflow run. |
|
|
171
178
|
| `github_get_workflow_run_jobs` | `APITOOL` | List the jobs for a workflow run (optional ``filter``: latest/all). |
|
|
172
179
|
| `github_get_workflow_runs` | `APITOOL` | List workflow runs for a repository. |
|
|
173
180
|
| `github_get_workflows` | `APITOOL` | List workflows for a repository. |
|
|
181
|
+
| `github_list_commit_comments` | `APITOOL` | List comments on a single commit. |
|
|
182
|
+
| `github_list_issue_comments` | `APITOOL` | List comments on an issue or pull request. |
|
|
174
183
|
| `github_list_organizations` | `APITOOL` | List organizations. |
|
|
175
184
|
| `github_list_pages_builds` | `APITOOL` | List GitHub Pages builds for a repository (newest first). |
|
|
185
|
+
| `github_list_repo_commit_comments` | `APITOOL` | List every commit comment in a repository. |
|
|
186
|
+
| `github_list_repo_issue_comments` | `APITOOL` | List every issue/PR comment in a repository. |
|
|
187
|
+
| `github_list_repo_review_comments` | `APITOOL` | List every pull-request review comment in a repository. |
|
|
188
|
+
| `github_list_review_comments` | `APITOOL` | List review (inline code) comments on a pull request. |
|
|
176
189
|
| `github_merge_pull_request` | `APITOOL` | Merge a pull request (``merge_method`` is merge, squash, or rebase). |
|
|
177
190
|
| `github_remove_collaborator` | `APITOOL` | Remove a collaborator from a repository. |
|
|
178
191
|
| `github_remove_organization_member` | `APITOOL` | Remove a user from an organization (repositories access included). |
|
|
@@ -185,27 +198,30 @@ _Auto-generated from the live MCP server — do not edit by hand._
|
|
|
185
198
|
| `github_set_organization_membership` | `APITOOL` | Add a user to an organization or update their role. |
|
|
186
199
|
| `github_trigger_workflow_dispatch` | `APITOOL` | Trigger a workflow dispatch event. |
|
|
187
200
|
| `github_update_branch_protection` | `APITOOL` | Update branch protection configuration. |
|
|
201
|
+
| `github_update_commit_comment` | `APITOOL` | Edit a commit comment. |
|
|
188
202
|
| `github_update_content` | `APITOOL` | Update a file in a repository. |
|
|
189
203
|
| `github_update_dependabot_alert` | `APITOOL` | Update the state of a Dependabot alert. |
|
|
190
204
|
| `github_update_issue` | `APITOOL` | Update an issue in a repository. |
|
|
205
|
+
| `github_update_issue_comment` | `APITOOL` | Edit an issue/PR comment. |
|
|
191
206
|
| `github_update_organization` | `APITOOL` | Update an organization's profile and member settings. |
|
|
192
207
|
| `github_update_pages` | `APITOOL` | Update the GitHub Pages configuration for a repository. |
|
|
193
208
|
| `github_update_pull_request` | `APITOOL` | Update a pull request. |
|
|
194
209
|
| `github_update_release` | `APITOOL` | Update (PATCH) a repository release. |
|
|
195
210
|
| `github_update_repository` | `APITOOL` | Update a repository. |
|
|
211
|
+
| `github_update_review_comment` | `APITOOL` | Edit a pull-request review comment. |
|
|
196
212
|
|
|
197
213
|
</details>
|
|
198
214
|
|
|
199
|
-
|
|
215
|
+
_17 action-routed tool(s) · 95 verbose 1:1 tool(s). Each is enabled unless its `<DOMAIN>TOOL` toggle is set false; `MCP_TOOL_MODE` selects the surface (**`intent` default** — the six verb-tools, granular set loaded on demand · `condensed` action-routed · `verbose` 1:1 · `both`). Auto-generated — do not edit._
|
|
200
216
|
<!-- MCP-TOOLS-TABLE:END -->
|
|
201
217
|
|
|
202
|
-
Detailed tool schemas, parameter shapes, and validation constraints are preserved in [docs/
|
|
218
|
+
Detailed tool schemas, parameter shapes, and validation constraints are preserved in [docs/usage.md](docs/usage.md).
|
|
203
219
|
|
|
204
220
|
### Dynamic Tool Selection & Visibility
|
|
205
221
|
|
|
206
|
-
This MCP server supports dynamic toolset selection and visibility filtering at runtime. This allows
|
|
222
|
+
This MCP server supports dynamic toolset selection and visibility filtering at runtime. This allows the operator to restrict the set of exposed tools to prevent blowing up the LLM's context window.
|
|
207
223
|
|
|
208
|
-
|
|
224
|
+
The operator can configure tool filtering via multiple input channels:
|
|
209
225
|
|
|
210
226
|
- **CLI Arguments:** Pass `--tools` or `--toolsets` (or their disabled counterparts `--disabled-tools` and `--disabled-toolsets`) during startup.
|
|
211
227
|
- **Environment Variables:** Define standard environment variables:
|
|
@@ -214,7 +230,7 @@ You can configure tool filtering via multiple input channels:
|
|
|
214
230
|
- **HTTP SSE Request Headers:** Pass custom headers during transport initialization:
|
|
215
231
|
- `x-mcp-enabled-tools` / `x-mcp-disabled-tools`
|
|
216
232
|
- `x-mcp-enabled-tags` / `x-mcp-disabled-tags`
|
|
217
|
-
- **HTTP SSE Request Query Parameters:** Append query parameters directly to
|
|
233
|
+
- **HTTP SSE Request Query Parameters:** Append query parameters directly to the operator's transport connection URL:
|
|
218
234
|
- `?tools=tool1,tool2`
|
|
219
235
|
- `?tags=tag1`
|
|
220
236
|
|
|
@@ -226,11 +242,10 @@ When query strings or parameters are supplied, an LLM-free **Knowledge Graph res
|
|
|
226
242
|
|
|
227
243
|
<!-- MCP-CONFIG-EXAMPLES:START -->
|
|
228
244
|
|
|
229
|
-
> **Install the
|
|
230
|
-
>
|
|
231
|
-
>
|
|
232
|
-
>
|
|
233
|
-
> full `[agent]` extra only when you need the integrated Pydantic AI agent.
|
|
245
|
+
> **Install the connector-focused `[mcp]` extra.** Examples use `github-agent[mcp]` to add
|
|
246
|
+
> FastMCP / FastAPI through `agent-connector-sdk`; the required Agent Connector SDK core
|
|
247
|
+
> still carries `epistemic-graph[full]`. The `[agent-runtime]` extra additionally
|
|
248
|
+
> enables model orchestration.
|
|
234
249
|
|
|
235
250
|
#### stdio Transport (local IDEs — Cursor, Claude Desktop, VS Code)
|
|
236
251
|
|
|
@@ -245,10 +260,11 @@ When query strings or parameters are supplied, an LLM-free **Knowledge Graph res
|
|
|
245
260
|
"github-mcp"
|
|
246
261
|
],
|
|
247
262
|
"env": {
|
|
248
|
-
"MCP_TOOL_MODE": "
|
|
263
|
+
"MCP_TOOL_MODE": "intent",
|
|
249
264
|
"ACTIONTOOL": "True",
|
|
250
265
|
"BRANCHTOOL": "True",
|
|
251
266
|
"COLLABORATORTOOL": "True",
|
|
267
|
+
"COMMENTTOOL": "True",
|
|
252
268
|
"COMMITTOOL": "True",
|
|
253
269
|
"CONTENTTOOL": "True",
|
|
254
270
|
"DEPENDABOTTOOL": "True",
|
|
@@ -257,7 +273,6 @@ When query strings or parameters are supplied, an LLM-free **Knowledge Graph res
|
|
|
257
273
|
"GITHUB_HTTP_READ_TIMEOUT": "30",
|
|
258
274
|
"GITHUB_TOKEN": "your_github_token_here",
|
|
259
275
|
"GITHUB_URL": "https://api.github.com",
|
|
260
|
-
"GITHUB_VERIFY": "True",
|
|
261
276
|
"GRAPHQLTOOL": "True",
|
|
262
277
|
"INGESTTOOL": "True",
|
|
263
278
|
"ISSUETOOL": "True",
|
|
@@ -272,6 +287,10 @@ When query strings or parameters are supplied, an LLM-free **Knowledge Graph res
|
|
|
272
287
|
}
|
|
273
288
|
```
|
|
274
289
|
|
|
290
|
+
Runtime references require an alias-aware launcher such as Arbora. Other
|
|
291
|
+
launchers must omit those entries and inject the resolved values through their
|
|
292
|
+
own runtime secret boundary.
|
|
293
|
+
|
|
275
294
|
#### Streamable-HTTP Transport (networked / production)
|
|
276
295
|
|
|
277
296
|
```json
|
|
@@ -290,12 +309,13 @@ When query strings or parameters are supplied, an LLM-free **Knowledge Graph res
|
|
|
290
309
|
],
|
|
291
310
|
"env": {
|
|
292
311
|
"TRANSPORT": "streamable-http",
|
|
293
|
-
"HOST": "
|
|
312
|
+
"HOST": "127.0.0.1",
|
|
294
313
|
"PORT": "8000",
|
|
295
|
-
"MCP_TOOL_MODE": "
|
|
314
|
+
"MCP_TOOL_MODE": "intent",
|
|
296
315
|
"ACTIONTOOL": "True",
|
|
297
316
|
"BRANCHTOOL": "True",
|
|
298
317
|
"COLLABORATORTOOL": "True",
|
|
318
|
+
"COMMENTTOOL": "True",
|
|
299
319
|
"COMMITTOOL": "True",
|
|
300
320
|
"CONTENTTOOL": "True",
|
|
301
321
|
"DEPENDABOTTOOL": "True",
|
|
@@ -304,7 +324,6 @@ When query strings or parameters are supplied, an LLM-free **Knowledge Graph res
|
|
|
304
324
|
"GITHUB_HTTP_READ_TIMEOUT": "30",
|
|
305
325
|
"GITHUB_TOKEN": "your_github_token_here",
|
|
306
326
|
"GITHUB_URL": "https://api.github.com",
|
|
307
|
-
"GITHUB_VERIFY": "True",
|
|
308
327
|
"GRAPHQLTOOL": "True",
|
|
309
328
|
"INGESTTOOL": "True",
|
|
310
329
|
"ISSUETOOL": "True",
|
|
@@ -331,19 +350,22 @@ Alternatively, connect to a pre-deployed Streamable-HTTP instance by `url`:
|
|
|
331
350
|
}
|
|
332
351
|
```
|
|
333
352
|
|
|
334
|
-
|
|
353
|
+
Run a reviewed container image as a least-privilege stdio child (no
|
|
354
|
+
listener or published port):
|
|
335
355
|
|
|
336
356
|
```bash
|
|
337
|
-
docker run -
|
|
338
|
-
--
|
|
339
|
-
-
|
|
340
|
-
-
|
|
341
|
-
-
|
|
342
|
-
|
|
343
|
-
-e
|
|
357
|
+
docker run -i --rm \
|
|
358
|
+
--read-only \
|
|
359
|
+
--cap-drop=ALL \
|
|
360
|
+
--security-opt=no-new-privileges \
|
|
361
|
+
--pids-limit=256 \
|
|
362
|
+
--tmpfs /tmp:rw,noexec,nosuid,nodev,size=64m \
|
|
363
|
+
-e TRANSPORT=stdio \
|
|
364
|
+
-e MCP_TOOL_MODE=intent \
|
|
344
365
|
-e ACTIONTOOL=True \
|
|
345
366
|
-e BRANCHTOOL=True \
|
|
346
367
|
-e COLLABORATORTOOL=True \
|
|
368
|
+
-e COMMENTTOOL=True \
|
|
347
369
|
-e COMMITTOOL=True \
|
|
348
370
|
-e CONTENTTOOL=True \
|
|
349
371
|
-e DEPENDABOTTOOL=True \
|
|
@@ -352,7 +374,6 @@ docker run -d \
|
|
|
352
374
|
-e GITHUB_HTTP_READ_TIMEOUT=30 \
|
|
353
375
|
-e GITHUB_TOKEN=your_github_token_here \
|
|
354
376
|
-e GITHUB_URL=https://api.github.com \
|
|
355
|
-
-e GITHUB_VERIFY=True \
|
|
356
377
|
-e GRAPHQLTOOL=True \
|
|
357
378
|
-e INGESTTOOL=True \
|
|
358
379
|
-e ISSUETOOL=True \
|
|
@@ -361,25 +382,30 @@ docker run -d \
|
|
|
361
382
|
-e RELEASETOOL=True \
|
|
362
383
|
-e REPOTOOL=True \
|
|
363
384
|
-e SEARCHTOOL=True \
|
|
364
|
-
|
|
385
|
+
registry.example.invalid/github-agent@sha256:<digest> github-mcp
|
|
365
386
|
```
|
|
366
387
|
|
|
388
|
+
For containerized network HTTP, supply an authenticated TLS ingress (or
|
|
389
|
+
direct server TLS), exact `MCP_ALLOWED_HOSTS`, and an exact trusted-proxy
|
|
390
|
+
CIDR policy through the operator-owned deployment profile. The generator
|
|
391
|
+
does not emit an unauthenticated non-loopback listener.
|
|
392
|
+
|
|
367
393
|
_Auto-generated from the code-read env surface (`MCP_TOOL_MODE` + package vars) — do not edit._
|
|
368
394
|
<!-- MCP-CONFIG-EXAMPLES:END -->
|
|
369
395
|
|
|
370
396
|
<!-- BEGIN GENERATED: additional-deployment-options -->
|
|
371
397
|
### Additional Deployment Options
|
|
372
398
|
|
|
373
|
-
`github-agent` can
|
|
374
|
-
|
|
375
|
-
[Deployment guide](https://knuckles-team.github.io/github-agent/deployment/)
|
|
376
|
-
|
|
377
|
-
**local container / uv**, and **remote URL**:
|
|
399
|
+
`github-agent` can run as a local stdio process or container, or behind a remote
|
|
400
|
+
network boundary. The
|
|
401
|
+
[Deployment guide](https://knuckles-team.github.io/github-agent/deployment/) carries
|
|
402
|
+
the detailed transport contract.
|
|
378
403
|
|
|
379
|
-
- **Local container
|
|
380
|
-
|
|
381
|
-
- **Remote URL** — connect
|
|
382
|
-
|
|
404
|
+
- **Local container** — launch a reviewed immutable image as a least-privilege
|
|
405
|
+
stdio child with no listener or published port.
|
|
406
|
+
- **Remote URL** — connect through an operator-supplied authenticated HTTPS
|
|
407
|
+
ingress. Keep its URL, outbound identity references, trust profile, and exact
|
|
408
|
+
`MCP_ALLOWED_HOSTS` in `AgentConfig`.
|
|
383
409
|
<!-- END GENERATED: additional-deployment-options -->
|
|
384
410
|
|
|
385
411
|
---
|
|
@@ -397,24 +423,26 @@ consumed from a **remote deployment**. The
|
|
|
397
423
|
| `TRANSPORT` | `stdio` | options: stdio, streamable-http, sse |
|
|
398
424
|
| `ENABLE_OTEL` | `True` | |
|
|
399
425
|
| `OTEL_EXPORTER_OTLP_ENDPOINT` | `http://localhost:8080/api/public/otel` | |
|
|
400
|
-
| `OTEL_EXPORTER_OTLP_PUBLIC_KEY` |
|
|
401
|
-
| `OTEL_EXPORTER_OTLP_SECRET_KEY` |
|
|
426
|
+
| `OTEL_EXPORTER_OTLP_PUBLIC_KEY` | secret-injected | |
|
|
427
|
+
| `OTEL_EXPORTER_OTLP_SECRET_KEY` | secret-injected | |
|
|
402
428
|
| `OTEL_EXPORTER_OTLP_PROTOCOL` | `http/protobuf` | |
|
|
403
429
|
| `EUNOMIA_TYPE` | `none` | options: none, embedded, remote |
|
|
404
430
|
| `EUNOMIA_POLICY_FILE` | `mcp_policies.json` | |
|
|
405
431
|
| `EUNOMIA_REMOTE_URL` | `http://eunomia-server:8000` | |
|
|
406
432
|
| `GITHUB_URL` | `https://api.github.com` | |
|
|
407
|
-
| `
|
|
408
|
-
| `
|
|
433
|
+
| `TLS_PROFILE` | `private-ca` | AgentConfig named transport profile |
|
|
434
|
+
| `TLS_PROFILE_REF` | `secret://transport/provider` | Direct runtime profile reference |
|
|
435
|
+
| `TLS_PROFILES_REF` | `secret://transport/catalog` | Named runtime profile catalog |
|
|
409
436
|
| `GITHUB_ALLOW_DESTRUCTIVE` | `False` | Allow destructive (delete/force) operations |
|
|
410
437
|
| `GITHUB_HTTP_CONNECT_TIMEOUT` | `10` | HTTP client timeouts (seconds) |
|
|
411
438
|
| `GITHUB_HTTP_READ_TIMEOUT` | `30` | |
|
|
412
439
|
| `DEBUG` | `False` | |
|
|
413
440
|
| `PYTHONUNBUFFERED` | `1` | |
|
|
414
|
-
| `GITHUB_TOKEN` |
|
|
415
|
-
| `ACTIONTOOL` | `True` | MCP tools table (condensed action-routed surface). |
|
|
441
|
+
| `GITHUB_TOKEN` | secret-injected | |
|
|
442
|
+
| `ACTIONTOOL` | `True` | These names match the authoritative "Toggle Env Var" column in the README MCP tools table (condensed action-routed surface). |
|
|
416
443
|
| `BRANCHTOOL` | `True` | |
|
|
417
444
|
| `COLLABORATORTOOL` | `True` | |
|
|
445
|
+
| `COMMENTTOOL` | `True` | |
|
|
418
446
|
| `COMMITTOOL` | `True` | |
|
|
419
447
|
| `CONTENTTOOL` | `True` | |
|
|
420
448
|
| `DEPENDABOTTOOL` | `True` | |
|
|
@@ -427,24 +455,26 @@ consumed from a **remote deployment**. The
|
|
|
427
455
|
| `REPOTOOL` | `True` | |
|
|
428
456
|
| `SEARCHTOOL` | `True` | |
|
|
429
457
|
|
|
430
|
-
#### Inherited agent-
|
|
458
|
+
#### Inherited agent-connector-sdk variables (apply to every connector)
|
|
431
459
|
|
|
432
460
|
| Variable | Example | Description |
|
|
433
461
|
|----------|---------|-------------|
|
|
434
|
-
| `MCP_TOOL_MODE` | `
|
|
462
|
+
| `MCP_TOOL_MODE` | `intent` | Tool surface: `intent` \| `condensed` \| `verbose` \| `both` |
|
|
435
463
|
| `MCP_ENABLED_TOOLS` | — | Comma-separated tool allow-list |
|
|
436
464
|
| `MCP_DISABLED_TOOLS` | — | Comma-separated tool deny-list |
|
|
437
465
|
| `MCP_ENABLED_TAGS` | — | Comma-separated tag allow-list |
|
|
438
466
|
| `MCP_DISABLED_TAGS` | — | Comma-separated tag deny-list |
|
|
439
|
-
| `MCP_CLIENT_AUTH` | — | Outbound MCP auth
|
|
467
|
+
| `MCP_CLIENT_AUTH` | — | Outbound MCP child auth: `oidc-client-credentials` \| `basic` \| `none` |
|
|
440
468
|
| `OIDC_CLIENT_ID` | — | OIDC client id (service-account auth) |
|
|
441
|
-
| `
|
|
469
|
+
| `OIDC_CLIENT_SECRET_REF` | `secret://identity/oidc-client-secret` | Runtime secret reference for the OIDC service account |
|
|
470
|
+
| `MCP_BASIC_AUTH_USERNAME` | — | HTTP Basic username (`MCP_CLIENT_AUTH=basic`) |
|
|
471
|
+
| `MCP_BASIC_AUTH_PASSWORD_REF` | `secret://identity/mcp-basic-password` | Runtime secret reference for HTTP Basic auth (`MCP_CLIENT_AUTH=basic`) |
|
|
442
472
|
| `MCP_URL` | `http://localhost:8000/mcp` | URL of the MCP server the agent connects to |
|
|
443
473
|
| `PROVIDER` | `openai` | LLM provider for the agent |
|
|
444
474
|
| `MODEL_ID` | `gpt-4o` | Model id for the agent |
|
|
445
475
|
| `ENABLE_WEB_UI` | `True` | Serve the AG-UI web interface |
|
|
446
476
|
|
|
447
|
-
|
|
477
|
+
_36 package + 14 inherited variable(s). Auto-generated from `.env.example` + the shared agent-connector-sdk set — do not edit._
|
|
448
478
|
<!-- ENV-VARS-TABLE:END -->
|
|
449
479
|
|
|
450
480
|
|
|
@@ -453,9 +483,9 @@ Every variable the server reads.
|
|
|
453
483
|
### Connection & Credentials
|
|
454
484
|
| Variable | Description | Default |
|
|
455
485
|
|----------|-------------|---------|
|
|
456
|
-
| `GITHUB_URL` | GitHub REST API base URL (use
|
|
486
|
+
| `GITHUB_URL` | GitHub REST API base URL (use the operator's GitHub Enterprise Server URL for self-hosted) | `https://api.github.com` |
|
|
457
487
|
| `GITHUB_TOKEN` | GitHub Personal Access Token / OAuth token (`Authorization: Bearer <token>`) | — |
|
|
458
|
-
| `
|
|
488
|
+
| `TLS_PROFILE` / `TLS_PROFILE_REF` | AgentConfig transport profile selector; peer verification is mandatory | — |
|
|
459
489
|
|
|
460
490
|
### MCP server / transport
|
|
461
491
|
| Variable | Description | Default |
|
|
@@ -511,7 +541,7 @@ See [`.env.example`](.env.example) for a copy-paste starting point.
|
|
|
511
541
|
|
|
512
542
|
## Agent
|
|
513
543
|
|
|
514
|
-
This repository features a fully integrated Pydantic AI Graph Agent. It communicates over the **Agent Control Protocol (ACP)** and interacts
|
|
544
|
+
This repository features a fully integrated Pydantic AI Graph Agent. It communicates over the **Agent Control Protocol (ACP)** and interacts smoothly with the **Agent Web UI (AG-UI)** and Terminal interface.
|
|
515
545
|
|
|
516
546
|
### Running the Agent CLI
|
|
517
547
|
To start the interactive command-line agent:
|
|
@@ -519,7 +549,7 @@ To start the interactive command-line agent:
|
|
|
519
549
|
```bash
|
|
520
550
|
# Set credentials
|
|
521
551
|
export GITHUB_URL="your_value"
|
|
522
|
-
|
|
552
|
+
# Configure TLS_PROFILE or TLS_PROFILE_REF through AgentConfig for private PKI.
|
|
523
553
|
export DEBUG="your_value"
|
|
524
554
|
export PYTHONUNBUFFERED="your_value"
|
|
525
555
|
export GITHUB_TOKEN="your_value"
|
|
@@ -529,14 +559,12 @@ github-agent --provider openai --model-id gpt-4o
|
|
|
529
559
|
```
|
|
530
560
|
|
|
531
561
|
### Docker Compose Orchestration
|
|
532
|
-
The following `docker/agent.compose.yml` configures the Agent, Web UI, and Terminal Interface together:
|
|
533
562
|
|
|
534
563
|
```yaml
|
|
535
564
|
version: '3.8'
|
|
536
565
|
|
|
537
566
|
services:
|
|
538
567
|
github-agent-mcp:
|
|
539
|
-
image: knucklessg1/github-agent:mcp
|
|
540
568
|
container_name: github-agent-mcp
|
|
541
569
|
hostname: github-agent-mcp
|
|
542
570
|
restart: always
|
|
@@ -561,8 +589,7 @@ services:
|
|
|
561
589
|
max-size: "10m"
|
|
562
590
|
max-file: "3"
|
|
563
591
|
|
|
564
|
-
|
|
565
|
-
image: knucklessg1/github-agent:latest
|
|
592
|
+
image: example/github-agent@sha256:<digest>
|
|
566
593
|
container_name: github-agent-agent
|
|
567
594
|
hostname: github-agent-agent
|
|
568
595
|
restart: always
|
|
@@ -596,13 +623,13 @@ services:
|
|
|
596
623
|
|
|
597
624
|
```
|
|
598
625
|
|
|
599
|
-
Detailed graph node architecture explanations, custom skill configurations, and agentic trace guides are available in [docs/
|
|
626
|
+
Detailed graph node architecture explanations, custom skill configurations, and agentic trace guides are available in [docs/deployment.md](docs/deployment.md).
|
|
600
627
|
|
|
601
628
|
---
|
|
602
629
|
|
|
603
630
|
## Security & Governance
|
|
604
631
|
|
|
605
|
-
Built directly upon the enterprise-ready [`agent-
|
|
632
|
+
Built directly upon the enterprise-ready [`agent-connector-sdk`](https://github.com/Knuckles-Team/agent-connector-sdk) core, standard security parameters are fully supported:
|
|
606
633
|
|
|
607
634
|
### Access Control & Policy Enforcement
|
|
608
635
|
- **Eunomia Policies:** Fine-grained, policy-driven tool authorization. Supports `none`, local `embedded` (`mcp_policies.json`), or centralized `remote` modes.
|
|
@@ -610,7 +637,7 @@ Built directly upon the enterprise-ready [`agent-utilities`](https://github.com/
|
|
|
610
637
|
- **Scoped Credentials:** Execution context runs restricted to the specific caller identity.
|
|
611
638
|
|
|
612
639
|
### Runtime Security Grid
|
|
613
|
-
| Feature |
|
|
640
|
+
| Feature | Feature | Enablement |
|
|
614
641
|
|---------|---------------|------------|
|
|
615
642
|
| **Tool Guard** | Sensitivity inspection with human-in-the-loop validation | Enabled by default |
|
|
616
643
|
| **Prompt Injection Defense** | Input scanning, repetition monitoring, and recursive loop blocks | Enabled by default |
|
|
@@ -620,51 +647,43 @@ Built directly upon the enterprise-ready [`agent-utilities`](https://github.com/
|
|
|
620
647
|
|
|
621
648
|
## Installation
|
|
622
649
|
|
|
623
|
-
Pick the extra that matches what
|
|
650
|
+
Pick the extra that matches what the operator want to run:
|
|
624
651
|
|
|
625
652
|
| Extra | Installs | Use when |
|
|
626
653
|
|-------|----------|----------|
|
|
627
|
-
| `github-agent[mcp]` |
|
|
628
|
-
| `github-agent[agent]` | Full agent runtime (`agent-utilities[agent,logfire]` — Pydantic AI + the epistemic-graph engine) | You run the **integrated agent** |
|
|
654
|
+
| `github-agent[mcp]` | Connector-focused MCP server (`agent-connector-sdk` — FastMCP/FastAPI + `epistemic-graph[full]`) | The operator only run the **MCP server** (smallest install / image) |
|
|
629
655
|
| `github-agent[all]` | Everything (`mcp` + `agent` + `logfire`) | Development / both surfaces |
|
|
630
656
|
|
|
631
657
|
```bash
|
|
632
|
-
# MCP server
|
|
658
|
+
# Connector-focused MCP server (includes the shared graph engine)
|
|
633
659
|
uv pip install "github-agent[mcp]"
|
|
634
660
|
|
|
635
|
-
#
|
|
636
|
-
uv pip install "github-agent[agent]"
|
|
661
|
+
# Agent runtime (adds model orchestration to the shared graph engine)
|
|
637
662
|
|
|
638
663
|
# Everything (development)
|
|
639
664
|
uv pip install "github-agent[all]" # or: python -m pip install "github-agent[all]"
|
|
640
665
|
```
|
|
641
666
|
|
|
642
|
-
### Container images (`:mcp`
|
|
667
|
+
### Container images (`:mcp`)
|
|
643
668
|
|
|
644
|
-
One multi-stage `docker/Dockerfile` builds
|
|
669
|
+
One multi-stage `docker/Dockerfile` builds the MCP-only image (`--target mcp`):
|
|
645
670
|
|
|
646
671
|
| Image tag | Build target | Contents | Entrypoint |
|
|
647
672
|
|-----------|--------------|----------|------------|
|
|
648
|
-
| `knucklessg1/github-agent:mcp` | `--target mcp` | `github-agent[mcp]` — **slim**, no engine/`pydantic-ai`/`dspy`/`llama-index`/`tree-sitter` | `github-mcp` |
|
|
649
|
-
| `knucklessg1/github-agent:latest` | `--target agent` (default) | `github-agent[agent]` — **full** agent runtime + epistemic-graph engine | `github-agent` |
|
|
650
673
|
|
|
651
674
|
```bash
|
|
652
|
-
docker build --target mcp -t knucklessg1/github-agent:mcp docker/ # slim MCP server
|
|
653
|
-
docker build --target agent -t knucklessg1/github-agent:latest docker/ # full agent
|
|
654
675
|
```
|
|
655
676
|
|
|
656
|
-
`
|
|
657
|
-
agent (`:latest`) with a co-located `:mcp` sidecar.
|
|
677
|
+
agent (`immutable agent digest`) with a co-located `:mcp` sidecar.
|
|
658
678
|
|
|
659
679
|
### Knowledge-graph database (`epistemic-graph`)
|
|
660
680
|
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
681
|
+
Agent Connector SDK core dependency (`epistemic-graph[full]`). The `[mcp]` extra keeps
|
|
682
|
+
deployments can use the bundled engine. For production or shared state, run
|
|
683
|
+
**epistemic-graph as a dedicated database service** and configure the runtime to use it.
|
|
684
|
+
Deployment recipes (single-node + Raft HA), connection configuration, and architecture
|
|
685
|
+
diagrams are documented in the
|
|
666
686
|
[epistemic-graph deployment guide](https://knuckles-team.github.io/epistemic-graph/deployment/).
|
|
667
|
-
The slim `[mcp]` server does **not** require the database.
|
|
668
687
|
|
|
669
688
|
---
|
|
670
689
|
|
|
@@ -686,39 +705,35 @@ recommended reference for installation, deployment, and day-to-day operation.
|
|
|
686
705
|
|
|
687
706
|
## Repository Owners
|
|
688
707
|
|
|
689
|
-
<img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=
|
|
708
|
+
<img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=example&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true" />
|
|
690
709
|
|
|
691
|
-

|
|
711
|
+

|
|
693
712
|
|
|
694
713
|
---
|
|
695
714
|
|
|
696
715
|
## Contribute
|
|
697
716
|
|
|
698
|
-
Contributions are welcome! Please ensure code quality by
|
|
717
|
+
Contributions are welcome! Please ensure code quality by running local checks before submitting pull requests:
|
|
699
718
|
- Format code using `ruff format .`
|
|
700
719
|
- Lint code using `ruff check .`
|
|
701
720
|
- Validate type-safety with `mypy .`
|
|
702
|
-
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
<!-- BEGIN agent-os-genesis-deploy (generated; do not edit between markers) -->
|
|
721
|
+
- Run test suites using `pytest`
|
|
706
722
|
|
|
707
|
-
## Deploy with `agent-os-genesis`
|
|
708
723
|
|
|
709
|
-
This package can be provisioned for you — skill-guided — by the **`agent-os-genesis`**
|
|
710
|
-
universal skill (its *single-package deploy mode*): it picks your install method, seeds
|
|
711
|
-
secrets to OpenBao/Vault (or `.env`), trusts your enterprise CA, registers the MCP
|
|
712
|
-
server, and verifies it — the same machinery that stands up the whole Agent OS, narrowed
|
|
713
|
-
to just this package. Ask your agent to **"deploy `github-agent` with agent-os-genesis"**.
|
|
714
724
|
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
| Bare-metal, prod (PyPI) | `uvx github-mcp` · or `uv tool install github-agent` |
|
|
718
|
-
| Bare-metal, dev (editable) | `uv pip install -e ".[all]"` · or `pip install -e ".[all]"` |
|
|
719
|
-
| Container, prod | deploy `knucklessg1/github-agent:latest` via docker-compose / swarm / podman / podman-compose / kubernetes |
|
|
720
|
-
| Container, dev (editable) | deploy `docker/compose.dev.yml` (source-mounted at `/src`; edits live on restart) |
|
|
725
|
+
<!-- GOVERNED-CAPABILITY:START -->
|
|
726
|
+
## Governed capability contract
|
|
721
727
|
|
|
722
|
-
|
|
728
|
+
This package ships a compact canonical skill surface with specialist procedures
|
|
729
|
+
kept as referenced workflows. The current MCP tools, skill metadata,
|
|
730
|
+
`connector_manifest.yml`, ontology, mappings, shapes, fixtures, migrations,
|
|
731
|
+
tool-schema fingerprints, and certification metadata form one versioned
|
|
732
|
+
capability contract. Validate them together; do not rely on stale tool names or
|
|
733
|
+
historical per-task skill wrappers.
|
|
723
734
|
|
|
724
|
-
|
|
735
|
+
Runtime endpoints, credentials, certificate trust, tenant identity, retention,
|
|
736
|
+
and observability policy are deployment inputs and are never packaged values.
|
|
737
|
+
See [Configuration, trust, and privacy](docs/configuration.md) before enabling a
|
|
738
|
+
network transport, connector ingestion, Arbora delegation, or trace export.
|
|
739
|
+
<!-- GOVERNED-CAPABILITY:END -->
|