Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Sandboxed workspace MCP: file ops, argv-only run_command, list_files; BYO LLM prompts.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
AGENT_GODMODE_ROOT你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"agent-godmode": {
"command": "uvx",
"args": [
"agent-godmode"
],
"env": {
"AGENT_GODMODE_ROOT": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add agent-godmode --env AGENT_GODMODE_ROOT=your-value -- uvx agent-godmode运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"agent-godmode": {
"command": "uvx",
"args": [
"agent-godmode"
],
"env": {
"AGENT_GODMODE_ROOT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"agent-godmode": {
"type": "stdio",
"command": "uvx",
"args": [
"agent-godmode"
],
"env": {
"AGENT_GODMODE_ROOT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
AGENT_GODMODE_ROOT env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 mdvohra 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.9)于6个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Workspace-scoped MCP tools for building Cursor-style agents: read_file, write_file, edit_file, run_command, list_files. Includes strict, versioned system prompts (SYSTEM_PROMPT_V1) and OpenAI-style tool definitions so your app can wire any LLM with one import.
The LLM and API keys stay in your app. This package provides tool execution, sandboxing, and prompts—not a hosted model.
OpenAI + in-process tools: the Tier B section below is self-contained—copy the Python into a script, module, or REPL; no separate artifact is required.
pip install agent-godmode
Editable / dev:
pip install -e ".[dev]"
Migrating from `mcp-agent-tools`: uninstall the old package, install `agent-godmode`, change Python imports from mcp_agent_tools to `agent_godmode`, the CLI from mcp-agent-tools to `agent-godmode`, and environment variables from MCP_AGENT_TOOLS_* to **AGENT_GODMODE_*** (for example AGENT_GODMODE_ROOT).
All tools are scoped to a single workspace root. Paths are relative to that root (or absolute only if they resolve under it). The same operations are available over MCP (the agent-godmode server) and in-process via `AgentWorkspace` / `WorkspaceTools`.
| Tool | Purpose |
|---|---|
| `read_file` | Read a UTF-8 text file; optional line range and byte cap. |
| `write_file` | Create or overwrite/append UTF-8 text; creates parent directories. |
| `edit_file` | Search-and-replace in an existing UTF-8 file: non-empty old_string, optional replace_all. With replace_all=false, old_string must match exactly once (use surrounding context from read_file for uniqueness). Invalid UTF-8 returns an error instead of corrupting binary data. |
| `list_files` | List directory entries with optional recursion, glob, depth cap, dotfile control. |
| `run_command` | Run a subprocess from an `argv` list only (no shell); optional cwd under the root. |
For LLM integrations, tool shapes and descriptions are centralized in `OPENAI_TOOL_DEFINITIONS` and `TOOL_DESCRIPTIONS`; agent behavior is guided by `SYSTEM_PROMPT_V1`.
1. Pick a workspace directory (only paths under this root are allowed).
2. Add a server entry (stdio). Example for a global MCP config (paths use forward slashes on Windows):
{
"mcpServers": { "agent-godmode": { "command": "agent-godmode", "args": [], "env": { "AGENT_GODMODE_ROOT": "D:/your/project" } } } }
Or with an explicit CLI root (overrides env for that process):
{
"mcpServers": { "agent-godmode": { "command": "agent-godmode", "args": ["--root", "D:/your/project"] } } }
3. Paste `SYSTEM_PROMPT_V1` (from agent_godmode.prompts or below) into your host’s system prompt if the client does not load server instructions automatically.
| Variable | Meaning |
|---|---|
AGENT_GODMODE_ROOT | Required unless --root is passed. Absolute workspace root. |
AGENT_GODMODE_MAX_READ_BYTES | Max bytes per read (default 512000). |
AGENT_GODMODE_COMMAND_TIMEOUT | Subprocess timeout in seconds (default 120). |
AGENT_GODMODE_MAX_COMMAND_OUTPUT_BYTES | Truncate stdout/stderr combined (default 256000). |
AGENT_GODMODE_LIST_MAX_ENTRIES | Cap for list_files (default 2000). |
AGENT_GODMODE_ALLOWED_COMMANDS | Comma-separated basenames allowed as argv[0] (e.g. python,uv,node). If unset, all commands allowed under the sandbox. |
Design notes
D:\Avi-assign as a placeholder; point WORK_DIR at any directory you control.OPENAI_API_KEY is required only for Chat Completions. Imports set client = OpenAI() if HAS_OPENAI_KEY else None; workspace setup and direct `edit_file` run without a key.write_file, persist only text returned by the model. For edit_file, the model must copy `old_string` exactly from `read_file` (see SYSTEM_PROMPT_V1).In a shell or any interactive Python session:
pip install -q openai
pip install -q -e "D:/MCP" # editable checkout; or: pip install agent-godmode
If your environment supports line magics (for example %pip in IPython), you can run the same installs there; do not place shell comments on the same line as %pip.
import os
from pathlib import Path
from openai import OpenAI
from agent_godmode import ( AgentWorkspace, OPENAI_TOOL_DEFINITIONS, SYSTEM_PROMPT_V1, run_agent_loop, )
HAS_OPENAI_KEY = bool(os.environ.get("OPENAI_API_KEY")) client = OpenAI() if HAS_OPENAI_KEY else None MODEL = "gpt-4o-mini"
if not HAS_OPENAI_KEY: print( "Note: OPENAI_API_KEY not set — Chat Completions examples will raise until you set it. " "Workspace + direct edit_file still work." )
# Fixed workspace — all reads/writes/commands stay under this folder
WORK_DIR = Path(r"D:\Avi-assign") WORK_DIR.mkdir(parents=True, exist_ok=True) print("Workspace:", WORK_DIR.resolve())
hello = WORK_DIR / "hello.txt" if not hello.exists(): hello.write_text("Hello from Avi-assign workspace.\n", encoding="utf-8")
ws = AgentWorkspace(WORK_DIR) print(ws.read_file("hello.txt")) print("--- list_files ---") print(ws.list_files(".", recursive=False))
Requires `OPENAI_API_KEY`. Skip if you are only exercising tools without the API.
if client is None:
raise ValueError( "Set OPENAI_API_KEY to run this block (e.g. export OPENAI_API_KEY=... or %env in IPython). " "Skip if you only want workspace / edit_file demos." )
context = ws.read_file("hello.txt")
user_prompt = ( "Here is the current contents of hello.txt in my workspace:\n\n" f"---\n{context}\n---\n\n" "Write ONLY the body of a new Markdown file (no preamble, no code fences) " "with a title line and two bullet points explaining what this greeting is for." )
resp = client.chat.completions.create( model=MODEL, messages=[ { "role": "system", "content": "You output only the file body the user asked for. No extra commentary.", }, {"role": "user", "content": user_prompt}, ], )
generated = (resp.choices[0].message.content or "").strip() if not generated: raise RuntimeError("LLM returned empty content; nothing to write.")
out_rel = "llm_generated_notes.md" ws.write_file(out_rel, generated, mode="overwrite") print(f"Wrote {out_rel!r} ({len(generated)} chars from model)\n") print(ws.read_file(out_rel))
edit_file (no Chat Completions)No API key required. The next lines create ws if you have not run the workspace section yet (same root).
# Direct edit_file (no Chat Completions call).
ws is not defined yet (e.g. you skipped §3), the next few lines create it (same WORK_DIR).from pathlib import Path
from agent_godmode import AgentWorkspace
if "ws" not in globals(): WORK_DIR = Path(r"D:\Avi-assign") WORK_DIR.mkdir(parents=True, exist_ok=True) ws = AgentWorkspace(WORK_DIR)
demo_edit = "edit_demo.txt" ws.write_file( demo_edit, "version: 1\nstatus: draft\nfooter: end\n", mode="overwrite", ) print("--- before ---") print(ws.read_file(demo_edit), end="") print(ws.edit_file(demo_edit, old_string="status: draft", new_string="status: ready")) print("--- after ---") print(ws.read_file(demo_edit), end="")
write_fileRequires `OPENAI_API_KEY`.
if client is None:
raise ValueError( "Set OPENAI_API_KEY to run this block. " "Skip if you only need workspace or direct edit_file." )
def complete(messages, tools): """One Chat Completions turn; return OpenAI-shaped dict for run_agent_loop.""" resp = client.chat.completions.create( model=MODEL, messages=messages, tools=tools, tool_choice="auto", ) return resp.model_dump()
answer = run_agent_loop( complete, "Use tools only. List the workspace root, read hello.txt, then call write_file on " "agent_notes.txt. The content argument must be your own freshly written summary " "(several sentences) based only on what you read—do not paste boilerplate.", ws, system_prompt=SYSTEM_PROMPT_V1, max_turns=12, ) print("--- final answer ---") print(answer) print("--- agent_notes.txt (if created by tool write_file) ---") p = WORK_DIR / "agent_notes.txt" print(p.read_text(encoding="utf-8") if p.exists() else "(missing)")
edit_fileRequires `OPENAI_API_KEY` and the `complete` function from §6.
from pathlib import Path
from agent_godmode import AgentWorkspace
if "ws" not in globals(): WORK_DIR = Path(r"D:\Avi-assign") WORK_DIR.mkdir(parents=True, exist_ok=True) ws = AgentWorkspace(WORK_DIR) if "complete" not in globals(): raise NameError("Define complete in §6 (after imports) before running this block.") if client is None: raise ValueError( "Set OPENAI_API_KEY to run this block. " "The direct edit_file example in §5 works without a key." )
target = "edit_agent_target.txt" ws.write_file( target, "# Demo\nThere are three erorrs in this sentance.\n", mode="overwrite", ) edit_answer = run_agent_loop( complete, ( f"Use tools only. Read {target}. Then use edit_file (not write_file) to fix typos: " "change erorrs to errors and sentance to sentence. " "Copy old_string exactly from read_file; use two edit_file calls or replace_all where appropriate." ), ws, system_prompt=SYSTEM_PROMPT_V1, max_turns=14, ) print("--- agent (edit_file) answer ---") print(edit_answer) print("--- file after agent ---") print(ws.read_file(target), end="")
run_agent_loopUse `OPENAI_TOOL_DEFINITIONS`, call the Chat Completions API with tools=..., parse `tool_calls`, and route each call through `ws.dispatch(name, json.loads(arguments))` (requires import json). For `write_file`, the `content` field should be whatever the model authored; for `edit_file`, pass `old_string`, `new_string`, and `replace_all` exactly as the
只显示了开头部分;其余内容请在仓库中阅读