English | 简体中文
Shared Credit Tool is a local MCP server for two clients only:
- Codex through newline-delimited stdio.
- ChatGPT on the web through authenticated Streamable HTTP and OAuth 2.1.
It lets those clients read and write files, create text documents, edit code, run local applications and shell commands, manage long-running processes, use Git, and inspect images.
Full-control default: commands run with the privileges and environment of the process that starts the server. On Windows, use the included elevated launcher and approve the UAC prompt to obtain Administrator access. Anyone who can authorize against the public MCP URL can operate the computer with those privileges.
py -m pip install -e ".[image]"Python 3.11 or newer is required.
Add this to ~/.codex/config.toml:
[mcp_servers.shared_credit_tool]
command = "shared-credit-tool"
args = ["--stdio"]The default direct-file root is the current user's home directory. The default
cwd is the directory from which the server starts. Override the root with
--workspace C:\ or another explicit directory when needed. Codex inherits
Administrator rights only when Codex itself was started elevated.
For the complete setup and project workflow, see the Chinese step-by-step guide.
The launcher automatically downloads the latest official Windows amd64
cloudflared release into ~/.shared-credit-tool/bin when it is missing.
You can still install it system-wide first if preferred:
winget install Cloudflare.cloudflaredThen run from an Administrator PowerShell, or let the script request elevation:
powershell -ExecutionPolicy Bypass -File .\scripts\start-chatgpt.ps1The script starts the MCP server on loopback, enables OAuth, prints the OAuth
password, and opens a Cloudflare HTTPS tunnel. It detects the tunnel hostname,
prints the final MCP 服务器 URL with /mcp already appended, prints
身份验证: OAuth, and copies the URL to the clipboard. In ChatGPT, enable
Developer mode under Settings -> Security and login, create an app from the
plus button at ChatGPT Plugins, choose OAuth, and
enter the printed password on the authorization page.
Dynamic registration accepts both authorization_code and refresh_token.
Access-token responses include a rotating refresh token so ChatGPT can renew a
session without registering and authorizing again.
HTTP never binds publicly by default. OAuth is enabled automatically whenever
HTTP starts without an explicit bearer token or SHARED_CREDIT_TOOL_AUTH_MODE=noauth.
The MCP catalog contains server/cwd inspection, read_file, write_file,
list_dir, list_files, search_text, apply_patch, exec_command, command
session polling and termination, Git status/diff/log/show/blame, and
view_image.
write_file creates parent directories and writes UTF-8 text, Markdown, CSV,
JSON, HTML, or source code. For DOCX, XLSX, PPTX, PDF, Office automation, or
other binary formats, use exec_command with software installed on the local
computer.
- Permission mode:
dangerous(all server command gates disabled). - Shell environment:
all(the host environment is inherited unchanged). - File-tool root: the current user's home directory.
- HTTP bind:
127.0.0.1:8765. - HTTP authentication: OAuth 2.1 with PKCE and dynamic registration.
Use --permission-mode safe or trusted only when you intentionally want the
older restrictions. See client configuration,
remote access, and the tool reference in
Core Tools.
py -m pip install -e ".[dev,image]"
py -m unittest discover -s tests -p "test_*.py"
py -m ruff check shared_credit_tool tests