原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

agent-godmode

作者:mdvohra版本 0.1.9i★ –i在你的电脑上运行
注册名称io.github.mdvohra/agent-godmode

安装

概览

作者提供的说明(英文原文)

Sandboxed workspace MCP: file ops, argv-only run_command, list_files; BYO LLM prompts.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 搜索与 AI 记忆

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: AGENT_GODMODE_ROOT

你需要

  • PyPI已安装 Python 的 uv(用于 uvx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 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 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "agent-godmode": {
      "command": "uvx",
      "args": [
        "agent-godmode"
      ],
      "env": {
        "AGENT_GODMODE_ROOT": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .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
    Absolute workspace root; only paths under this directory are allowed. Omit if you pass --root to the CLI.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 mdvohra 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 5653 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 5653 个服务器的 11% 更新
  • 基础检查结果等于或优于此分类中其他 5653 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

agent-godmode 安全吗?

它在 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

Context7

作者:upstash

Up-to-date docs for AI agents

电脑或云端★ 64,224MIT昨天更新
安装

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

在你的电脑上运行★ 48,148MIT21天前更新
安装

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

在云端运行★ 5,213MIT2个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

agent-godmode

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.

Install

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).

Tools

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`.

ToolPurpose
`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`.

Tier A — Cursor (or any MCP client)

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.

Environment variables
VariableMeaning
AGENT_GODMODE_ROOTRequired unless --root is passed. Absolute workspace root.
AGENT_GODMODE_MAX_READ_BYTESMax bytes per read (default 512000).
AGENT_GODMODE_COMMAND_TIMEOUTSubprocess timeout in seconds (default 120).
AGENT_GODMODE_MAX_COMMAND_OUTPUT_BYTESTruncate stdout/stderr combined (default 256000).
AGENT_GODMODE_LIST_MAX_ENTRIESCap for list_files (default 2000).
AGENT_GODMODE_ALLOWED_COMMANDSComma-separated basenames allowed as argv[0] (e.g. python,uv,node). If unset, all commands allowed under the sandbox.

Tier B — Python app (in-process + OpenAI)

Design notes

  • Workspace root — Examples use D:\Avi-assign as a placeholder; point WORK_DIR at any directory you control.
  • API key policy — 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.
  • Model-authored I/O — For 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).
1. Install dependencies

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.

2. Imports and API key handling
import os

from pathlib import Path

OPENAI_API_KEY is required only for steps that call Chat Completions (LLM + agent loops).

Workspace + direct edit_file work without a key.

Set via OS env or e.g. %env OPENAI_API_KEY sk-... in IPython

Local-only optional override — never commit a real key:

os.environ["OPENAI_API_KEY"] = "sk-..."

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." )

3. Workspace bootstrap and seed file
# 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))

4. LLM-authored file body (no tool calls)

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." )

1) Context from disk (read-only)

context = ws.read_file("hello.txt")

2) Ask the model to author the entire new file; no static template for the body

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.")

3) Persist exactly what the LLM produced

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))

5. Direct 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).

If 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="")

6. Agent loop: model calls write_file

Requires `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)")

7. Agent loop: model calls edit_file

Requires `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="")

8. Optional: custom tool loop without run_agent_loop

Use `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

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx