local-agent-mcp
Local Agent MCP
ChatGPT Pro가 로컬 컴퓨터에서 직접 작업하게 하세요
ChatGPT에 작업을 지시하면, 로컬 MCP 도구를 호출해 프로젝트를 읽고, 파일을 수정하고, 테스트를 실행하고, Git Diff를 확인하고, Commit을 생성할 수 있습니다.
복잡한 작업은 로컬 Codex에 맡길 수 있습니다. ChatGPT는 계속해서 단계 분할, 진행 상황 확인, 요구사항 보충, 최종 검사를 담당합니다.
ChatGPT Pro
→ Local Agent MCP
→ 本地文件 / 测试 / Git / Codex코드를 반복해서 복사할 필요도 없고, 모든 작업을 Codex로 우회시킬 필요도 없습니다.
이는 비공식 커뮤니티 프로젝트입니다. OpenAI 제품이 아니며 OpenAI를 대표하지 않습니다.
Related MCP server: chatgpt-codex-tools-mcp
빠른 시작
사전 요구사항
다음을 준비하세요:
macOS 또는 Linux
Python 3.11 이상
Git
OpenAI 공식
tunnel-client사용자 지정 MCP App을 지원하는 ChatGPT 환경
Tunnel ID
해당하는 Tunnel Runtime Key
macOS는 먼저 기본 도구를 설치할 수 있습니다:
brew install uv tmux
brew install openai/tools/tunnel-client한 문장으로 AI에게 맡기기
로컬 터미널을 조작할 수 있는 AI에게 다음 문장을 보내세요:
https://github.com/ezra-y/local-agent-mcp를 내 컴퓨터에 설치하고, README에 따라 설정, 시작, 검증을 완료해 줘.
수동 설치는 ChatGPT에 설치를 참고하세요.
주요 기능
주요 기능 | 설명 |
ChatGPT가 로컬 프로젝트를 직접 조작 | 일반적인 파일, 테스트, Git 작업은 ChatGPT가 로컬 도구를 직접 호출해 수행합니다. |
ChatGPT가 총지휘 | 간단한 작업은 직접 완료하고, 복잡한 작업은 로컬 Codex에 맡길 수 있습니다. |
Agent 확장 가능 | Codex가 첫 번째 Adapter입니다. 이후 Agent는 동일한 제어 계층에 추가됩니다. |
작업 상태 조회 가능 | Workflow, Step, Job이 로컬 SQLite에 저장되어 재시작 후에도 확인할 수 있습니다. |
중복 실행 방지 | 동일한 |
Git 과정이 명확 | 먼저 상태와 Diff를 확인한 후, 명시적으로 나열된 파일만 커밋합니다. 자동 Push는 하지 않습니다. |
권한 투명성 | Tool과 Resource 모두 현재 권한 정보를 반환할 수 있습니다. |
28개 도구
카테고리 | 도구 | 용도 |
권한 |
| 현재 루트 디렉터리, 하드 제한, 고권한 진입점을 확인합니다. |
파일 |
| 텍스트 파일을 나열, 읽기, 생성, 덮어쓰기 또는 부분 수정합니다. |
명령 및 테스트 |
| 명령 또는 테스트를 실행하고, 백그라운드 Job을 확인하거나 중지합니다. |
Git |
| 상태 확인, Diff 확인, 명시적으로 나열된 파일 커밋. 안전한 Commit은 Hook과 서명을 끄고 Git Filter를 거부합니다. |
워크플로 |
| Workflow 생성, Step 생성, Job 시작, 전체 상태 조회. |
일회성 읽기 전용 Codex |
| 로컬 Codex가 일회성 읽기 전용 검사를 수행하게 합니다. |
Codex 스레드 / 턴 |
| 기존 Thread를 읽고, Codex Turn을 시작, 재개, 보충, 중지, 확인합니다. |
상태 확인 |
| 서비스 상태, 활성 Job 수, Artifact 용량 경고를 확인합니다. |
직접적인 delete_file Tool은 노출되지 않습니다. apply_patch도 전체 파일 삭제를 거부합니다.
git_commit은 기본적으로 저장소 Hook과 커밋 서명을 끕니다. clean / process Git Filter가 감지되면 커밋을 거부하여 구조화된 Commit이 저장소 프로그램을 암시적으로 실행하지 못하게 합니다. git_diff는 외부 Diff와 textconv를 모두 끕니다.
권한 Resource
get_permissions Tool 외에도 서비스는 다음을 제공합니다:
local-agent://permissions내용은 다음과 같습니다:
当前允许访问哪里
哪些目录和文件被禁止
读写是否开启
有没有直接删除工具
高权限入口有哪些get_permissions는 MCP Resources를 아직 표시하지 않는 클라이언트를 위해 계속 유지됩니다.
권한 및 권한 축소
기본 범위
구조화된 파일 및 Git 도구는 기본적으로 현재 사용자의 Home에 접근할 수 있습니다:
$HOME일반적으로 Desktop, Downloads, Documents 및 개인 디렉터리의 기타 프로젝트가 포함됩니다.
코드로 강제로 금지되는 내용
구조화된 파일 도구는 다음을 거부합니다:
.ssh
.aws
.azure
.codex
.docker
.gnupg
.kube
.Trash
Library
.env 和 .env.*
常见凭据文件
.pem / .key / .p12 / .pfx 私钥文件
符号链接路径또한:
직접적인 파일 삭제 Tool이 없습니다.
apply_patch는 전체 파일을 삭제할 수 없습니다.Git Push Tool이 없습니다.
git_commit은 명시적으로 나열된 경로만 커밋합니다.
구조화된 범위 축소
시작 전에 설정:
export LOCAL_AGENT_MCP_ROOT="$HOME/Projects"이전 설정 이름 CODEX_MCP_ROOT도 계속 호환됩니다.
이후 이 도구들은 $HOME/Projects에만 접근할 수 있습니다:
list_files
read_file
write_file
apply_patch
git_status
git_diff
git_commit포그라운드 시작 예시:
export LOCAL_AGENT_MCP_ROOT="$HOME/Projects"
./scripts/run_tunnel.sh고권한 진입점
기능 | 실제 범위 |
| 프로젝트 코드를 실행합니다. 테스트 코드는 파일을 생성, 수정 또는 삭제할 수 있습니다. |
| 호출된 로컬 프로그램이 구조화된 루트 디렉터리 외부의 위치에 접근할 수 있습니다. |
전체 Codex Turn | 읽기/쓰기, 명령 실행, 네트워크 접속이 가능하며 구조화된 루트 디렉터리 외부에도 접근할 수 있습니다. |
LOCAL_AGENT_MCP_ROOT는 구조화된 파일 및 Git 도구의 하드 경계이며, 전체 프로세스의 시스템 샌드박스가 아닙니다.
저장소 Hook, Git LFS 또는 기타 Filter가 필요한 경우 수동으로 커밋하거나, 저장소 구성을 명확히 확인한 후 고권한 run_command를 사용하세요.
v0.5.1에는 현재 개별 Tool을 숨기거나 끄는 설정이 없습니다. 더 강력한 격리가 필요하면 별도의 시스템 사용자, 가상 머신, 컨테이너를 사용하거나 Tool을 삭제한 버전을 유지하세요.
자세한 내용은 docs/permissions.md를 참고하세요.
ChatGPT에 설치
1. 다운로드 및 테스트
git clone https://github.com/ezra-y/local-agent-mcp.git
cd local-agent-mcp
uv sync --locked --all-groups
uv run pytest -q로컬 Codex 검색 순서:
CODEX_BIN에 지정된 경로.PATH의codex.macOS ChatGPT App에 내장된 Codex.
2. Runtime Key 저장
macOS:
./scripts/save_tunnel_key.shLinux:
export CONTROL_PLANE_API_KEY="<你的 Runtime Key>"3. Tunnel 구성 생성
export CONTROL_PLANE_TUNNEL_ID="tunnel_<32位小写十六进制>"
./scripts/configure_tunnel.sh로컬 구성은 다음에 저장됩니다:
.runtime/profiles/4. Tunnel 시작
포그라운드:
./scripts/run_tunnel.sh백그라운드:
tmux new-session -d \
-s local-agent-mcp-tunnel \
-c "$PWD" \
./scripts/run_tunnel.sh서비스 준비 대기:
for i in {1..30}; do
curl -fsS http://127.0.0.1:8741/readyz && break
sleep 1
done성공 시 반환:
ready로컬 상태 페이지:
http://127.0.0.1:8741/ui5. ChatGPT에서 연결
Settings → Apps를 엽니다.
Developer Mode를 켭니다.
해당 사용자 지정 MCP App을 생성하거나 연결합니다.
Tunnel이 시작된 후 Refresh / Scan tools를 클릭합니다.
새 채팅을 열고
@Local Agent를 선택합니다.
6. 검증
새 채팅에서 전송:
@Local Agent
调用 get_permissions。
报告当前工具总数、版本和 allowed_root。v0.5.1의 예상 결과:
工具总数:28
版本:0.5.1
allowed_root:你的 Home,或你设置的 LOCAL_AGENT_MCP_ROOT클라이언트가 Resources를 지원하면 다음도 읽어보세요:
local-agent://permissions로컬 stdio MCP만 실행
ChatGPT Tunnel을 사용하지 않을 때:
./scripts/run_mcp.sh전역 명령으로 설치할 수도 있습니다:
uv tool install .
local-agent-mcp이전 명령 local-codex-mcp도 계속 사용할 수 있습니다.
일상 사용
도구의 project 매개변수는 일반적으로 $HOME 기준 상대 경로를 입력합니다:
Documents/Codex/local-agent-mcp
Downloads/my-project
Desktop/example-projectHome 내부의 절대 경로도 지원됩니다. project="."는 전체 구조화된 루트 디렉터리를 의미하며, 기본 설정에서는 전체 Home입니다.
일반적인 작업 하나
@Local Agent
在 Downloads/my-project 修复登录失败问题。
检查相关代码和 Git 状态,完成修改、测试、Diff 和 Commit。일반적인 흐름:
get_permissions
→ git_status / list_files / read_file
→ write_file / apply_patch
→ run_tests
→ git_diff
→ git_commit복잡한 작업에는 명시적 Workflow 또는 로컬 Codex를 추가할 수 있습니다.
Workflow 실행 방식
다섯 가지 개념
개념 | 의미 |
Workflow | 사용자가 지시한 전체 작업. |
Step | Workflow 안의 안정적이고 명확한 동작. |
Job | 특정 Step의 실제 실행 한 번. |
Codex Thread | Codex가 저장한 채팅 및 작업 컨텍스트. |
Codex Turn | Thread 안의 한 라운드 작업. |
실행 순서
create_workflow
→ create_step
→ start_step
→ get_job / get_workflowcreate_step은 현재 네 가지 실행 유형을 지원합니다:
| 용도 |
| 테스트 실행. |
| 매개변수 배열 형태의 로컬 명령 실행. |
| Codex가 일회성 읽기 전용 검사를 수행. |
| 지속적으로 작업하는 Codex Turn 시작. |
파일 읽기 및 수정은 여전히 read_file, write_file, apply_patch로 직접 수행합니다.
예시: 테스트 Step 생성
create_workflow(
project="Downloads/my-project",
title="验证登录修复"
)
→ workflow_idcreate_step(
workflow_id=workflow_id,
position=1,
name="运行测试",
executor_kind="tests",
spec={
"argv": ["uv", "run", "pytest", "-q"],
"cwd": ".",
"timeout_seconds": 900
},
write_scope="worktree"
)
→ step_idstart_step(
workflow_id=workflow_id,
step_id=step_id,
attempt=1
)
→ job_idget_job(job_id)
get_workflow(workflow_id)실행 주체는:
workflow_id + step_id + attempt동일한 번호로 다시 시작하면 원래 Job이 반환되며 중복 실행되지 않습니다. 명시적으로 다시 실행할 때는 attempt=2와 같은 새 attempt를 사용하세요.
병렬 규칙
同一个 Codex Thread:同一时间一个活动 Turn
同一个 Worktree:同一时间一个写入者
同一个仓库:不同 Worktree 可以并行활성 Turn에 요구사항을 보충해야 하면 steer_codex_turn을, 중지해야 하면 interrupt_codex_turn을 사용하세요.
로컬 상태 및 로그
소스 코드 실행 시:
.runtime/state.sqlite3
.runtime/artifacts/<job_id>/설치 후 명령은 기본적으로 다음을 사용합니다:
$HOME/.local/state/local-agent-mcp/state.sqlite3사용자 지정 위치:
export LOCAL_AGENT_MCP_STATE_PATH="/自定义位置/state.sqlite3"이전 설정 이름 CODEX_WORKFLOW_STATE_PATH도 계속 호환됩니다. 기존 상태 라이브러리도 계속 읽습니다.
긴 로그는 Artifact 파일에 저장됩니다. SQLite에는 경로, 크기, SHA-256이 저장됩니다.
Artifact는 자동으로 삭제되지 않습니다. 총 기록량이 1 GiB를 초과하면 ping이 경고를 반환합니다.
업데이트
git pull
uv sync --locked --all-groups
uv run pytest -q그런 다음 Tunnel을 재시작하고 ChatGPT에서 Refresh / Scan tools를 클릭하세요.
프로젝트 구조
src/local_agent_mcp/
├── server.py MCP 入口与公共 Tool / Resource
├── adapters/ 本地 Agent Adapter;当前包含 Codex
├── workflow_*.py Workflow、Step、Job、锁和 SQLite
├── command_jobs.py 后台命令与测试
├── workspace_tools.py 文件读写与 Patch
└── git_tools.py Git 状态、Diff 和 Commit
tests/ 单元测试与集成测试
docs/ 权限和架构说明
scripts/ MCP 与 Tunnel 启动脚本테스트 파일은 저장소에 유지됩니다. 권한 경계, 크로스 플랫폼 실행, 패키징, 호환성을 검증하는 데 사용됩니다. 설치된 wheel에는 실행 코드만 포함됩니다.
개발 검사
uv run pytest -q
uv run python scripts/check_public_release.py
zsh -n scripts/*.sh
uv build메인 MCP 진입점은 src/local_agent_mcp/server.py입니다. src/codex_bridge.py는 이전 import 및 이전 시작 방식의 호환 별칭으로 유지됩니다.
제거 및 로컬 데이터
제거 프로그램은 SQLite, Artifact, Tunnel profile 또는 소스 디렉터리를 자동으로 삭제하지 않습니다. 먼저 확인하고 어떤 데이터를 유지할지 결정하세요.
License
MIT, LICENSE 참조.
⚠️ 기본 구성은 상당히 넓은 로컬 권한을 엽니다. ChatGPT가 현재 사용자 Home의 대부분 프로젝트를 읽고 쓸 수 있으며, 테스트, 명령, 로컬 Agent를 실행할 수 있습니다. 신뢰하는 컴퓨터, 계정, 프로젝트에서만 사용하세요.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables ChatGPT to remotely orchestrate local Codex and Claude Code agents for file editing and command execution via a secure Cloudflare tunnel, bridging cloud AI planning with local execution.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables ChatGPT to inspect and edit local projects through a secure MCP interface, offering workspace management, file operations, git integration, and safe command execution.4MIT
- AlicenseNot gradedqualityAmaintenanceBridges ChatGPT with local computer for controlled file and project management, featuring session-based collaboration and diff tracking.4Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT to securely control a local workstation via an MCP tunnel, exposing 44 tools for file/project editing, git, process supervision, browser automation, and Office document handling across macOS, Linux, and Windows.MIT
Related MCP Connectors
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Git-backed platform for skills, tools, and context for AI agents
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ezra-y/local-agent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server