Skip to main content
Glama
code-mode-in-claude-code.ts2.59 kB
#!/usr/bin/env tsx /** * Code Mode 示例:在 Claude Code 中直接实现 * * 架构对比: * * ❌ 原方案: * 用户请求 → 独立 CodeModeAgent(需要 API key)→ 生成代码 → 沙箱执行 * * ✅ 新方案: * 用户请求 → Claude Code(已登录)→ 直接写代码 → 本地执行 * * 优势: * - 无需 ANTHROPIC_API_KEY * - 复用 Claude Code 的凭证和能力 * - 更简单、更直接 */ import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'; async function demonstrateCodeMode() { console.log('🎯 Code Mode 核心思想演示\n'); console.log('场景:读取项目的 package.json 并解析'); console.log('传统方式:需要 LLM 多轮调用工具'); console.log('Code Mode:直接写代码一次性完成\n'); // 连接 filesystem MCP server const transport = new StdioClientTransport({ command: 'npx', args: ['-y', '@modelcontextprotocol/server-filesystem', process.cwd()], }); const client = new Client( { name: 'code-mode-demo', version: '1.0.0' }, { capabilities: {} } ); await client.connect(transport); console.log('✅ 已连接 filesystem MCP\n'); // Code Mode 方式:用代码组合工具调用 console.log('📝 执行代码:\n'); const code = ` // 1. 读取 package.json const pkgResult = await client.callTool({ name: 'read_file', arguments: { path: 'package.json' } }); // 2. 解析并提取信息 const pkg = JSON.parse(pkgResult.content[0].text); // 3. 汇总输出 console.log('项目名称:', pkg.name); console.log('版本:', pkg.version); console.log('依赖数量:', Object.keys(pkg.dependencies || {}).length); `; console.log(code); console.log('\n🔧 执行结果:\n'); // 实际执行 const pkgResult = await client.callTool({ name: 'read_file', arguments: { path: 'package.json' }, }); const pkg = JSON.parse( Array.isArray(pkgResult.content) ? pkgResult.content[0].text : pkgResult.content ); console.log('项目名称:', pkg.name); console.log('版本:', pkg.version); console.log('依赖数量:', Object.keys(pkg.dependencies || {}).length); await client.close(); console.log('\n💡 关键点:'); console.log('- 这段代码在 Claude Code 中运行'); console.log('- 无需额外的 ANTHROPIC_API_KEY'); console.log('- 直接调用 MCP 工具,无需 Agent 中转'); console.log('- 复杂逻辑用代码表达更清晰'); } demonstrateCodeMode().catch(console.error);

Latest Blog Posts

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/cexll/code-mode-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server