两个协议,两个层次
MCP(模型上下文协议)和 iLang 在 AI 技术栈的不同层次上解决不同的问题,两者不是竞争关系。要知道什么时候用哪个,先要弄清楚各自做什么。
| 维度 | MCP | iLang |
|---|---|---|
| 出自 | Anthropic | iLang Research(开放社区) |
| 主要功能 | 把 AI 接到外部工具和数据源上 | 让人、AI 和 Agent 之间的通信结构化 |
| 层次 | 工具集成层 | 语义指令层 |
| 需要什么 | SDK、服务器实现、API 接口 | 什么都不需要。本身就是文本,粘贴到 DeepSeek、通义千问、Kimi、智谱 GLM、ChatGPT、Claude 或 Gemini 里就行 |
| 格式 | 基于 stdio/SSE 的 JSON-RPC | 结构化文本:[VERB:@TARGET|mod=val] |
| 解决什么 | AI 怎么访问数据库、API、文件系统 | AI 怎么理解指令,歧义更少 |
| 示例 | AI 通过 MCP 服务器调用 SQL 数据库 | [READ:@SRC|path=data.csv]=>[FILT|whr=revenue>1000]=>[OUT] |
什么时候用 MCP
你的 AI 需要和外部系统打交道时,用 MCP:数据库、API、文件系统、第三方服务。MCP 提供把 AI 接到外部世界的管道。没有 MCP(或者同类的工具调用),AI 只能处理上下文窗口里已有的东西。
什么时候用 iLang
你需要 AI 在较长的工作流里更准确地照指令做事、少些歧义时,用 iLang。iLang 工作在指令层:把你交代给 AI 的事写成结构化指令,包括做什么、怎么表现、遵守哪些约束。它不用安装,已在 ChatGPT、Claude、Gemini、DeepSeek、Kimi、通义千问和智谱 GLM 上测过。
两者一起用
两者可以结合起来用:MCP 让 AI 能用上工具和数据,iLang 给 AI 结构化的指令,告诉它怎么用这些工具。例子:MCP 连上数据库,iLang 定义分析流程:
::STATE{@DB, via:mcp, kind:database}
[READ:@DB|path=orders,whr="date>2026-01-01"]
=>[STAT|grp=region]
=>[RANK|srt=revenue,desc]
=>[FMT|fmt=md]
=>[OUT]
数据库连接由 MCP 处理,指令链由 iLang 处理,谁也替代不了谁。
主要区别一览
| 问题 | MCP | iLang |
|---|---|---|
| 不写代码能用吗? | 否,需要配置服务器 | 是,把文本粘贴到 DeepSeek、通义千问、Kimi、智谱 GLM、ChatGPT、Claude 或 Gemini 里就行 |
| 能跨模型用吗? | 看模型支不支持 MCP | 在 ChatGPT、Claude、Gemini、DeepSeek、Kimi、通义千问和智谱 GLM 上测过 |
| 它定义 AI 的行为吗? | 否 | 是,通过 ::GENE{} 声明 |
| 开源吗? | 是(Anthropic) | 是(MIT 许可) |
常见问题
iLang 和 MCP 有什么不同?
MCP 管 AI 连接什么,iLang 管 AI 怎么理解指令,两者互补。MCP 需要 SDK、服务器实现和 API 接口,通过 stdio 或 SSE 走 JSON-RPC。iLang 什么都不需要:把 [READ:@SRC|path=data.csv]=>[FILT|whr=revenue>1000]=>[OUT] 这样的结构化文本,粘贴到和 DeepSeek、通义千问、Kimi、智谱 GLM、ChatGPT、Claude 或 Gemini 的对话里就行。本站那个结合起来的例子里,MCP 负责数据库连接,iLang 定义分析链。