Codex Harness MCP
A Harness MCP — Codex スタイルの自律プログラミング Agent サービス
A Harness MCP は、Model Context Protocol (MCP) に基づくローカルサーバープログラムで、Codex Harness の階層型コンテキスト、スキルシステム、自律 Agent 機能を MCP ツールの形で外部 AI クライアント(Claude Desktop、DeepSeek など)に公開します。このサービスを通じて、外部 AI はローカルプロジェクト内でコードの実行、ファイルの読み書き、外部ツールの呼び出しを行い、構造化された方法で複雑なプログラミングタスクを完了できます。
✨ コア機能
階層型コンテキストの組み立て —— Codex Harness の設計を参考に、基本行動規範、ユーザーレベルの AGENTS.md、プロジェクトレベルの AGENTS.md、スキルインデックスを階層的に重ね合わせます。プロセス規約はユーザーが自由に編集でき、コードにハードコードされません。
スキル (Skill) システム —— プロジェクトの
.a_harness_mcp/skills/ディレクトリに独立したスキルを定義でき、get_skillツールで完全な説明を必要に応じて読み込むことで、コンテキストの冗長性を削減します。豊富な組み込みツールセット —— shell コマンド実行、ファイル読み書き、ディレクトリ参照、パッチ適用、画像表示、Web 検索、MCP サーバー管理などの機能を提供します。
Codex Agent 統合 ——
codexツールを内蔵し、複雑なコーディングタスクを Codex Agent に直接委任して実行できます。タイムアウト制御とカスタムモデルをサポートします。外部 MCP サーバープロキシ ——
mcp_servers.jsonの設定により、サードパーティの MCP サーバー(Excel、SSH、高德地图など)を統一的にプロキシし、ツールリストに統合できます。グラフィカル制御インターフェース —— PyQt5 で構築された GUI プログラムを提供し、プロジェクトディレクトリ、権限モード、ホストポート、モデルパラメータを設定でき、サービスログと AI 対話記録をリアルタイムで確認できます。
軽量テストクライアント —— 純粋な標準ライブラリで実装された
mcp_client_test.pyを内蔵しており、サードパーティの依存関係なしでサービスの可用性を検証できます。
Related MCP server: onputer
🚀 クイックスタート
サーバーの起動
# 启动 GUI 控制界面
python codex_mcp_gui.py
# 或直接启动 HTTP 服务(无 GUI)
python codex_mcp_server.pyMCP クライアントへの接続
サービスはデフォルトで http://127.0.0.1:9999/mcp に MCP Streamable HTTP エンドポイントを提供し、任意の MCP 互換クライアントの接続をサポートします。
スモークテストクライアントでの検証
# 握手并列出所有可用工具
python mcp_client_test.py
# 调用 shell 工具执行 dir 命令
python mcp_client_test.py --tool shell --args '{"command":"dir"}'
# 调用 codex 工具执行编程任务
python mcp_client_test.py --tool codex --args '{"prompt":"读取当前目录所有 Python 文件并统计总行数"}'Claude Desktop での設定
Claude Desktop の設定ファイルに以下を追加します:
{
"mcpServers": {
"a-harness-mcp": {
"url": "http://127.0.0.1:9999/mcp"
}
}
}📦 利用可能なツール
ツール名 | 説明 |
| プロジェクトディレクトリで shell コマンドを実行(権限モードに制約される) |
| Codex Agent を起動してコーディングタスクを完了(ネストされた Agent) |
| プロジェクト内のテキストファイルを読み取り |
| プロジェクト内のテキストファイルに書き込み(読み取り専用モードでは無効) |
| プロジェクト内のディレクトリ内容を一覧表示 |
| git スタイルの unified diff パッチを適用 |
| base64 エンコードまたはプロジェクトパス下の画像を表示 |
| オンライン検索(DuckDuckGo の Web インターフェース経由) |
| 現在注入されている完全なコンテキストを返す(プロセスルール + スキルインデックス) |
| プロジェクトで利用可能なスキルを一覧表示 |
| 指定したスキルの完全な SKILL.md の説明を必要に応じて読み込み |
| 長期記憶管理(ユーザー設定、行動修正、議論の要点など) |
| レビュー待ちのカスタム Skill ドラフトを作成 |
| 外部メモリデータをプレビューしてインポート |
🧩 スキルシステム(Skills)
スキルはプロジェクトレベルの再利用可能な能力ユニットで、.a_harness_mcp/skills/<スキル名>/SKILL.md に格納されます。
各スキルファイルは frontmatter でメタデータを宣言します:
---
name: pdf-analyzer
description: 提取 PDF 文档中的表格和关键信息,适用于财务报告分析
---
# PDF 分析技能
## 使用场景
...外部 AI は初期化時にスキルの name と description のみをインデックスとして読み込み、完全な本文は get_skill で必要に応じて取得するため、コンテキストウィンドウの使用量を大幅に圧縮します。
🎛️ 権限モード
モード | 説明 |
| 読み取り専用モード。書き込み操作は一切禁止 |
| ワークスペース内での読み書きとコマンド実行を許可 |
| 追加制限なしの完全なワークスペース権限 |
権限モードは GUI のドロップダウンメニューまたはサービスの起動パラメータで切り替えられます。
📁 階層型コンテキスト組み立てメカニズム
サービス起動時に以下のコンテキストが自動的に組み立てられ、初期 instructions として外部 AI に注入されます:
基本行動規範 —— 組み込みの Codex スタイル規範(ツール規約、自律性、品質要件)
ユーザーレベルのプロセス規約 ——
~/.a_harness_mcp/AGENTS.md(初回実行時にデフォルトテンプレートが自動生成され、自由に編集可能)プロジェクトレベルのプロセス規約 ——
<プロジェクト>/AGENTS.mdまたは<プロジェクト>/.a_harness_mcp/AGENTS.md(ユーザーレベルより優先度が高い)スキルインデックス ——
.a_harness_mcp/skills/ディレクトリをスキャンし、すべてのスキルの名前と説明を集約
🔌 外部 MCP サーバープロキシ
mcp_servers.json 設定ファイルを使用して、サードパーティの MCP サーバーを本サービスにプロキシできます:
[
{
"name": "excel",
"enabled": true,
"config": {
"mcpServers": {
"excel": {
"command": "npx",
"args": ["-y", "@zhiweixu/excel-mcp-server"],
"env": { "CACHE_MAX_AGE": "1" },
"type": "stdio"
}
}
}
}
]プロキシされたツールはツールリストに統一的に登録され、外部 AI が直接呼び出せます。
🧪 開発とテスト
依存関係のインストール
pip install PyQt5テストの実行
# 启动服务(GUI 或非 GUI 模式)
python codex_mcp_gui.py
# 另开终端执行冒烟测试
python mcp_client_test.py🗂️ プロジェクト構造
.
├── A Harness MCP.exe # PyInstaller 打包的可执行文件
├── codex_mcp_gui.py # PyQt5 GUI 控制界面
├── codex_mcp_server.py # MCP HTTP 服务核心实现
├── context.py # 分层上下文装配器
├── mcp_plugins.py # 外部 MCP 服务器代理与插件管理
├── mcp_client_test.py # 纯标准库 MCP 客户端冒烟测试
├── mcp_servers.json # 外部 MCP 服务器配置
└── codex_mcp_gui_config.json # GUI 配置文件(项目目录、端口、权限模式等)📄 ライセンス
🤝 コントリビューション
Issue と Pull Request の提出を歓迎します。コードを提出する前に、以下を確認してください:
既存のコードスタイルに従うこと
新機能には対応するテストケースを添付すること
関連ドキュメントを更新すること
ローカル AI Agent 開発のために ❤️ を込めて作られました。
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA passive MCP server that exposes a toolbox of executable tools (shell, network, HTTP, AI search, SSH, S3 file operations) to autonomous agents via Streamable HTTP, with strong security features including Docker sandboxing and WAF.2Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI chat clients to securely access and manage local files, run terminal commands, work with Git repositories, and read AGENTS.md instructions and skills via a stateless Streamable HTTP MCP server.MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients such as ChatGPT and Claude to administer Linux or macOS hosts through authenticated Streamable HTTP, including running shell commands, reading and writing files within a workspace, listing directories, and retrieving system metrics.110 PyPI1MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to remotely dispatch AI agents and use file/system tools on an Omarchy VM over authenticated Streamable HTTP, replacing SSH-based pipelines.MIT