Token导航 LogoToken导航

MCP Server · AI代理

MCP Codemode Py

一个轻量级的Python库,用于通过最小化上下文开销调用MCP工具,支持作为库或MCP服务器使用。

stdio官方级别未说明来源级核验工具 0
AI代理代码执行PythonClaude工具发现

快速开始

作者 / 组织
ndilsou
提供方
ndilsou

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Codemode Py 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install mcp-codemode-py

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Python的MCP代码模式

轻量级库,用于以最小的上下文开销调用MCP工具。

实施Anthropic的原则 使用MCP执行代码 Cloudflare的 代码模式 文章。

双重用途:库+MCP服务器

mcp编码模式可用于 双向:

1.作为Python库

直接集成到Python应用程序中:

from mcp_codemode import mcp
result = await mcp.filesystem.read_file(path="/etc/hosts")

2.作为MCP服务器(元MCP模式)

将codemode本身配置为MCP服务器,提供对整个MCP目录的高效访问:

{
  "mcpServers": {
    "codemode": {
      "command": "python",
      "args": ["-m", "mcp_codemode.server_main"],
      "transport": "stdio"
    }
  }
}

然后使用以下工具 search_tools, execute_code等,通过最小的界面与所有配置的服务器进行交互!

看 MCP_SERVER_USAGE.md 了解完整细节。

问题

传统的MCP用法将所有工具定义加载到LLM上下文中:

  • 50个工具x 200个代币= 10000个代币 在做任何工作之前
  • 多步操作需要通过LLM进行往返
  • 大型数据集不必要地膨胀了上下文

解决方案

LLM更擅长编写代码,而不是直接调用工具。

该库提供:

  1. 渐进式披露 -按需加载工具
  2. 延迟加载 -仅在需要时加载架构
  3. 本地处理 -无上下文开销的多步骤操作
  4. 类型安全性 -JSON模式的Pydantic验证
  5. IDE支持 -生成用于自动补全的.pyi存根

影响

上下文使用率降低98-99%

Traditional:  ~10,000 tokens (all tools loaded)
Code Mode:    ~200 tokens (lazy loading + local processing)

快速开始

安装

uv add mcp-codemode-py
# or
pip install mcp-codemode-py

基本用法

from mcp_codemode import mcp

# Direct tool call - schema loads automatically
result = await mcp.filesystem.read_file(path="/etc/hosts")

# Multi-step with local processing (no context overhead!)
files = await mcp.filesystem.list_directory(path="/var/log")
large_files = [f for f in files if f['size'] > 1_000_000]

for file in large_files[:10]:
    content = await mcp.filesystem.read_file(path=file['path'])
    # Process locally - doesn't bloat context

# Only return what matters
return {"count": len(large_files), "sample": large_files[:3]}

发现API

# Discover servers
servers = await mcp.list_servers()

# Discover tools on a server
tools = await mcp.github.list_tools()

# Search across everything
results = await mcp.search("create issue")
# -> [SearchResult(server="github", tool="create_issue", score=0.95)]

# Use the results
await mcp.github.create_issue(repo="...", title="...", body="...")

命令行界面

# Generate .pyi stub files for IDE support
mcp-codemode stub-gen

# List available servers
mcp-codemode list

# Search for tools
mcp-codemode search "file operations"

# List tools for a server
mcp-codemode tools github --detailed

配置

创建 .codemode/config.json 在您的项目中:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"],
      "transport": "stdio"
    },
    "github": {
      "command": "mcp-server-github",
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      },
      "transport": "stdio"
    }
  }
}

基于文件的发现

非常适合Claude Code-使用本机文件工具探索工具:

# Generate stubs
mcp-codemode stub-gen

创建结构:

.codemode/
  stubs/
    filesystem/
      __init__.pyi
      read_file.pyi
      write_file.pyi
    github/
      create_issue.pyi
      list_repos.pyi

然后自然地探索:

  • 全局: **/*.pyi ->查找所有工具
  • grep: create.*issue ->按关键字搜索
  • 阅读:查看带有类型提示的工具架构

设计理念

发现的三个层次

Level 0: Start with just `mcp` object (0 tokens)
   |
Level 1: Discover servers when needed (~20 tokens)
   |
Level 2: Discover tools on server (~50 tokens)
   |
Level 3: Load schema on tool call (0 context tokens)

Pydantic的类型安全

# Automatic validation from JSON Schema
await mcp.filesystem.read_file(path="/etc/hosts")  # OK

# Validation catches errors
await mcp.filesystem.read_file(path=123)  # ValueError

懒惰的一切

  • 模式仅在调用工具时加载
  • 缓存可防止冗余获取
  • 背景存根生成(可选)

例子

看 examples/ 目录:

  • basic_usage.py -核心API模式
  • claude_code_workflow.py -Claude代码集成

建筑

+------------------+
|   Your Code      |
+--------+---------+
         |
+--------v---------+
|  MCP Code Mode   |   1_000_000]
return large[:5]
"""

# Execute in your environment
# (with mcp available)

当前状态

版本0.2.0-生产就绪

已实施:

  • 具有Pydantic验证的核心代理对象
  • 渐进式发现(3个级别)
  • 基于文本的搜索
  • 短路发生器
  • CLI工具
  • 官方MCP SDK集成
  • 配置管理
  • 综合测试(30项测试通过)
  • MCP服务器模式 配备6个用于元MCP模式的工具

MCP服务器模式

当用作MCP服务器时,codemode提供了6个工具,可以访问整个MCP目录:

  1. 搜索工具 -在所有服务器上搜索相关工具
  2. list_server -列出已配置的MCP服务器
  3. list_tools -列出特定服务器上的工具
  4. get_tool_schema -获取工具的完整架构
  5. execute_code -执行Python代码并访问所有服务器(效率最高!)
  6. call_tool -直接工具调用

为什么用作MCP服务器?

  • 大规模上下文缩减:上下文中有6个工具,而单个服务器中有100多个工具
  • execute_code工具:编写在一次调用中使用多个服务器的代码
  • 渐进式披露:按需发现和使用工具
  • 统一接口:所有MCP服务器的一个配置点

execute_code示例:

# One tool call that uses multiple servers!
{
  "tool": "execute_code",
  "arguments": {
    "code": "files = await mcp.filesystem.list_directory(path='.')\nlarge = [f for f in files if f['size'] > 1_000_000]\nissue = await mcp.github.create_issue(repo='user/repo', title=f'{len(large)} large files')\nreturn {'issue': issue['number']}"
  }
}

看 MCP_SERVER_USAGE.md 获取完整文档。

条款

该库实现了以下原则:

  1. Anthropic:使用MCP执行代码

- 代币减少98.7% - 渐进式披露 - 本地数据处理

  1. Cloudflare:代码模式

- LLM比工具调用更擅长代码 - 单执行沙盒 - 生成TypeScript API

设计决策

为什么是Pydantic?

  • Python生态系统中无处不在
  • 从JSON模式自动验证
  • IDE支持的类型提示

为什么是基于文本的搜索?

  • 轻量级(无重依赖性)
  • 对于典型用例来说,速度足够快
  • 如果需要,可以稍后升级到嵌入

为什么选择混合发现?

  • 程序化:始终新鲜,无处不在
  • 基于文件:对Claude Code来说很自然,IDE支持很强
  • 两者皆有:选择的灵活性

为什么是.codemode/?

  • 与MCP配置明确分离
  • 包含存根和缓存
  • 容易感染

许可证

麻省理工学院

致谢

基于以下研究和文章:

使用 模型上下文协议 通过Anthropic。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

MCP工具调用Python本地部署Python库轻量级代码执行工具发现

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Codemode Py

MCP World · 本页

0stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Codemode Py 怎么安装?

公开资料给出的安装命令是 pip install mcp-codemode-py,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Codemode Py 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Codemode Py 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Codemode Py 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Codemode Py 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP