使用说明
Oracle MCP服务器
一种模型上下文协议(MCP)服务器,为通过CLI查询oracle AI模型(Codex或Claude)提供统一接口。
特性
- 统一Oracle工具:单人
consult_oracle适用于Codex或Claude Code的工具 - 可配置模型:通过以下方式支持自定义oracle模型和推理级别
~/.oracle-mcp.json - 可测试架构:用于参数构造和CLI调用的纯函数
- 正确的错误处理:使用描述性消息进行全面的错误处理
- 类型安全:具有显式类型和安全错误处理的完整TypeScript
设置
# Install dependencies
bun install
# Build TypeScript
bun run build
# Run the server
bun run start
发展
# Run directly with hot reload
bun run dev
# Run test suite
bun test
工具
consult_oracle
请咨询神谕,了解专家对复杂问题的推理和分析。
何时使用:
- 规划具有多重权衡的复杂任务
- 您对自己的方法有≤90%的信心
- 您需要分析架构决策或设计模式
参数:
prompt(string,必填):向神谕咨询的问题或难题。具体说明背景、约束以及你需要什么样的决策或分析。
示例提示:
- “构建用于工具集成的TypeScript MCP服务器的最佳方法是什么?”
- “我们应该为这个新功能使用单片架构还是微服务架构?”
- “不同错误处理模式之间的权衡是什么?”
配置
服务器读取 ~/.oracle-mcp.json 如果存在,则可以自定义行为。如果文件不存在,则使用默认值。
默认配置
{
"model": "gpt-5.1-codex-mini",
"reasoning": "medium",
"command": "codex"
}
Codex示例
{
"oracle": {
"model": "gpt-5.1-codex-mini",
"reasoning": "high",
"command": "codex"
}
}
克劳德代码示例
{
"oracle": {
"model": "opus",
"command": "claude"
}
}
实现细节
CLI调用格式
食品法典:
codex exec --model <model> [-c reasoning_level=<level>] "<prompt>"
克劳德:
claude -p --model <model> "<prompt>"
建筑
- 单文件服务器 (
src/index.ts)实施MCP协议 - 纯函数 为了可测试性:
buildOracleArgs():将CLI参数构造为数组(避免shell转义问题)invokeOracle():通过执行CLIspawnSync并返回结构化结果
- MCP 处理器:
ListToolsRequestSchema:描述consult_oracle基于配置的动态描述工具CallToolRequestSchema:处理工具调用,捕获stdout,并返回格式正确的响应
- 错误处理:尝试用回退来捕捉
String(error)对于非Error对象 - 响应格式:所有回复均包装为
{ content: [{ type: "text", text: string }], isError?: boolean }
依赖项
@modelcontextprotocol/sdk:官方MCP协议实施和stdio传输
测试
全面的测试套件(42+测试)涵盖:
- Codex与Claude的论证建构
- 特殊字符处理(引号、倒签、美元符号、换行符)
- 配置加载和默认值
- 工具描述生成
- 错误处理和响应格式
- 类型安全和MCP协议合规性
