llm-api外观
一个MCP服务器,它提供了一个通用的抽象层,用于通过一个稳定的接口与任何LLM后端(本地或云)进行交互。
它的作用
一个MCP服务器表面。它背后的任何LLM。消费者使用规范化的词汇表发送生成请求。facade将其路由到配置的后端,根据需要转换参数和响应形状。
该架构有两层:
- 第1层(通用): 标准化类型,与提供者无关。消息、内容块、令牌使用、生成参数、错误分类。在不知道哪个提供商为请求提供服务的情况下工作。
- 第2层(扩展): 结构化、类型化、可发现的特定于提供商的功能。缓存控制、安全设置、推理配置、结构化输出保证、令牌故障。
快速开始
npm install
npm run build服务器通过stdio进行通信。将其添加到MCP客户端配置中:
{
"mcpServers": {
"server": {
"command": "node",
"args": ["/path/to/llm-api-facade/dist/index.js"]
}
}
}或者从以下网址安装为Claude Code插件 RedJay市场.
提供程序配置
设置环境变量后,提供程序会自动注册。Ollama总是在。
| 提供程序 | 环境变量 | 适配器 |
|---|---|---|
| Ollama(本地) | 始终在线 | OpenAI兼容 |
| OpenAI | OPENAI_API_KEY | OpenAI兼容性 |
| 人类学 | ANTHROPIC_API_KEY | 专用 |
| 谷歌双子座 | GEMINI_API_KEY | 专用 |
| 科恩 | COHERE_API_KEY | 专用 |
| 米斯特拉尔 | MISTRAL_API_KEY | OpenAI兼容性 |
| xAI(格罗克) | XAI_API_KEY | OpenAI兼容性 |
| vLLM | VLLM_BASE_URL | OpenAI兼容性 |
| LM工作室 | LMSTUDIO_BASE_URL | OpenAI兼容性 |
| llama.cpp | LLAMACPP_BASE_URL | OpenAI兼容性 |
MCP工具
| 工具 | 说明 |
|---|---|
complete | 向任何LLM发送消息,接收完成。支持工具、结构化输出、所有采样参数。 |
stream_complete | 流媒体变体。返回使用情况下的累积块。 |
list_models | 列出已配置的提供程序。 |
接缝
该架构强制执行一个干净的边界—— 接缝 --在两个区域之间:
Consumer Side | THE SEAM | Provider Side
Layer 1: Universal | Normalizes | Provider-specific SDKs
Layer 2: Extensions | Organizes | Native API formats
Typed errors | | Raw error responses
Capability discovery | | Feature negotiation第1层进行规范化(将多个形状合并为一个)。第2层组织(将特定于提供者的功能组织成类型化的、可发现的扩展)。基础设施问题(身份验证、重试、传输)永远不会交叉。
当前状态
已实施和测试(Ollama+OpenAI的50个场景):
- 文本完成(批处理和流式传输)
- 所有采样参数(温度、top_p、频率/存在惩罚、种子、停止序列)
- 刀具调用(单圈、带结果的多圈、多个刀具、正确的刀具选择)
- 结构化输出(JSON模式,带约束输出的JSON模式)
- 内容块模型(文本块、工具使用块、工具结果块、思维块、图像块)
- 错误分类学(4属14种)
适配器(涵盖所有11个提供商):
- OpenAI兼容适配器:Ollama、OpenAI、Mistral、xAI、vLLM、LM Studio、llama.cpp
- 拟人适配器:系统作为参数,内容块,角色压缩,命名为SSE流
- Gemini适配器:基于部件的内容,“模型”角色,函数调用检测,头中的API键
- Cohere适配器:扁平响应,大写完成原因,命名SSE事件
尚未实施:
- 扩展系统(缓存控制、安全设置、推理配置、结构化输出、标记尾部)
- MCP资源(models://catalog, config://state,会话://{id})
- validate_request、estimate_tokens、get_model_info工具
文档
Documentation/
Architecture/
Principles.md # 8 governing principles (dual-layer)
DomainModel.md # Universal concepts, behavioral contracts, the seam
McpServerSpec.md # MCP tools, resources, schemas, error codes (v0.3.0)
OntologicalTaxonomy.md # Categorical framework, cross-validated
TypeSpecification.md # Formal types, 48+ invariants, state machine
SoftSpots.md # 13 resolved weak points with positions taken
ToolCallingChoreography.md # Multi-turn tool flows, 7-dimension provider divergence
PositionPaper-*.md # Facade as information architecture
ExtensionCatalog.md # 5 extensions with schemas and adapter tables
Decisions/
ADR-001 through ADR-007 # Architecture decision records
Vendors/
OpenAI, Anthropic, Gemini, Mistral/Cohere/xAI, Local Runtimes许可证
麻省理工学院
