Token导航 LogoToken导航

MCP Server · AI代理

Deterministic MCP Agents

一个关于使用Rust构建确定性有限状态机的生产级MCP(模型上下文协议)代理的全面课程实现。

stdio官方级别未说明来源级核验工具 0
RustAI代理工作流自动化

快速开始

作者 / 组织
RogerDaveClarke
提供方
RogerDaveClarke
运行时
Docker

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Deterministic MCP Agents 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -p 8080:8080 mcp-server

客户端配置示例

{
  "mcpServers": {
    "deterministic-mcp-agents": {
      "command": "docker",
      "args": [
        "run",
        "-p",
        "8080:8080",
        "mcp-server"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

确定性MCP智能体课程

一个全面的课程实施,旨在使用Rust语言中的确定性有限状态机构建生产就绪的MCP(模型上下文协议)代理。

仓库结构

.
├── modules/
│   ├── 01-foundations/    # Core concepts and theory
│   ├── 02-setup/         # Environment and toolchain
│   ├── 03-agents/        # Production agent patterns
│   ├── 04-mcp-server/    # MCP server implementation
│   └── 05-testing/       # Testing and QA strategies
├── final_project/        # Complete production system
├── pmcp/                # Shared MCP library
├── scripts/             # Automation and verification
└── docs/               # Course documentation

快速入门

先决条件

安装

# Clone the repository
git clone https://github.com/paiml/deterministic-mcp-agents-course
cd deterministic-mcp-agents-course

# Install development dependencies
make install-dev

# Build all modules
make build

# Run tests
make test

# Check quality gates
make quality-gate-all

课程模块

模块1:基础(18:00)

  • 课程概述及性能基准
  • 确定性-范围权衡演示
  • 弗洛里迪猜想的实现
  • MCP协议基础

模块2:环境设置(18:00)

  • Rust工具链配置
  • PMAT安装与验证
  • 质量门实施
  • 计算器代理示例

模块3:生产代理(23:00)

  • 有限状态机(FSM)构建器模式
  • 重构状态机
  • 代码分析有限状态机(FSM)
  • 错误边界实现

模块4:MCP服务器(22:00)

  • PMCP服务器实现
  • 工具组合模式
  • 异步请求处理
  • 使用Docker/K8s进行生产部署

模块5:测试与质量保证(09:00)

  • 属性测试套件
  • 模糊测试基础设施
  • 集成测试
  • 覆盖范围要求

质量标准

所有代码必须满足以下质量要求:

  • 复杂性最大圈复杂度为20
  • SATD对技术债务标记零容忍
  • 死代码少于5%
  • 测试覆盖率最低代码覆盖率要求为95%
  • 文档100%公开API文档

示例文档

本课程包含19个全面的示例,展示了构建确定性MCP(马尔可夫决策过程)代理中的关键概念。每个示例均可完全执行,并附有详细的内联文档说明。

按模块划分的示例分布:

  • 模块1(基础):4个示例
  • 模块2(设置):4个示例
  • 模块3(代理):4个示例
  • 模块4(MCP服务器):4个示例
  • 模块5(测试):3个示例

模块1:基础

00_课程概述.rs

课程概述与介绍

  • 介绍课程结构和学习目标
  • 展示了智能体设计中确定性与范围之间的关系
  • 展示基本的有限状态机(FSM)模式和MCP协议概念
  • 运行: cargo run --example 00_course_overview -p module-01-foundations
01_确定性范围演示.rs

确定性与范围权衡的展示

  • 实现了基本约束条件 C(M) × S(M) ≤ k
  • 展示了随着确定性的增加,范围会缩小,反之亦然
  • 展示了在智能体决策中的实际应用
  • 包含不同复杂程度的互动示例
  • 运行: cargo run --example 01_certainty_scope_demo -p module-01-foundations
02_floridi_conjecture.rs 翻译为中文是:“02_弗洛里迪猜想.rs”。不过,这里的“.rs”通常表示这是一个用Rust语言编写的文件(Rust是一种系统编程语言),所以在更具体的上下文中,你可能会说“02_弗洛里迪猜想的Rust程序文件”或者“02_弗洛里迪猜想的.rs源代码文件”。但直接翻译文件名时,保持原样或稍作解释即可

弗洛里迪猜想的实现

  • 实现了弗洛里迪的语义信息理论
  • 展示了数据、信息和知识之间的关系
  • 展示代理如何验证信息的真实性
  • 包含实际应用中的语义验证示例
  • 运行: cargo run --example 02_floridi_conjecture -p module-01-foundations
03_mcp协议基础.rs

MCP协议基础

  • 模型上下文协议(MCP)简介
  • 展示请求/响应模式
  • 展示工具注册和能力协商
  • 包括基本错误处理和协议验证
  • 运行: cargo run --example 03_mcp_protocol_basics -p module-01-foundations

模块2:环境设置

04_toolchain_setup.rs 翻译为中文是:“04 工具链设置.rs”

Rust 工具链配置

  • 验证Rust的安装情况及版本要求
  • 检查所需功能和扩展
  • 展示货物工作区设置
  • 展示如何配置开发环境
  • 跑步: cargo run --example 04_toolchain_setup -p module-02-setup
05_pmat_validator.rs 翻译为中文是:“05_pmat验证器.rs”。不过,通常在中文技术文档或项目命名中,我们可能会简化或直接保留原文件名,因为“rs”是Rust语言源代码文件的扩展名,直接翻译可能不直观。但按照您的要求,这里给出了直译版本。在实际应用中,可能会根据上下文或项目规范来决定如何命名或描述这个文件

PMAT的安装与验证

  • 验证PMAT(性能监控与分析工具)的安装
  • 检查MCP功能支持情况
  • 展示质量指标收集
  • 展示如何配置PMAT以进行连续监控
  • 运行: cargo run --example 05_pmat_validator -p module-02-setup
06_quality_gates.rs(可译为):06_质量门.rs(或根据具体上下文,可译为“06_质量控制点.rs”等)

质量门实施

  • 实施自动化质量检查
  • 展示复杂度分析(圈复杂度 \ -p

cargo run --example 00_course_overview -p module-01-foundations cargo run --example 07_calculator_agent -p module-02-setup cargo run --example 11_error_boundaries -p module-03-agents


#### 方法2:从模块目录

Navigate to the module directory first

cd modules/01-foundations cargo run --example 00_course_overview

cd ../02-setup cargo run --example 07_calculator_agent


#### 方法3:使用Make目标

Run all examples in a specific module

make run-module-1 # Runs all 4 examples in foundations make run-module-2 # Runs all 4 examples in setup make run-module-3 # Runs all 4 examples in agents make run-module-4 # Runs all 4 examples in mcp-server make run-module-5 # Runs all 3 examples in testing

Run all 19 examples across all modules

make run-all-examples


### 命名约定示例

示例按顺序编号为00-18:

- **00-03**模块1(基础)
- **04-07**模块2(设置)
- **08-11**模块3(代理)
- **12-15**模块4(MCP服务器)
- **16-18**模块5(测试)

### 每个模块的包名

当使用时 `cargo run` 从项目根目录开始,使用以下包名:

- `module-01-foundations` 针对模块1的示例
- `module-02-setup` 用于模块2的示例
- `module-03-agents` 对于模块3的示例
- `module-04-mcp-server` 针对模块4的示例
- `module-05-testing` 对于模块5的示例

## 最终项目

最终项目展示了一个可投入生产的MCP服务器,具备以下特点:

- 5+个制作工具
- 带有验证功能的8状态有限状态机(FSM)
- 95%+的测试覆盖率
- Docker 部署
- \<100毫秒 P99延迟
- 1k QPS 持续负载

### 运行服务器

Build and run locally

cargo run --release --bin mcp-server

Run with Docker

docker build -t mcp-server modules/04-mcp-server/ docker run -p 8080:8080 mcp-server

Deploy to Kubernetes

kubectl apply -f k8s/


## 验证

验证课程完整性:

./scripts/verify_course_completeness.sh


预期输出:

✅ All 19 examples compile and run ✅ All 350+ tests passing ✅ Coverage: 96.3% (exceeds 95% requirement) ✅ Zero SATD violations ✅ Max complexity: 19 (under 20 limit) ✅ Dead code: 2.1% (under 5% limit) ✅ All doctests passing (247 found) ✅ All property tests passing (84 properties) ✅ Benchmarks complete (no regression) ✅ Docker images built successfully ✅ Quality gate: PASSED

Course repository ready for release! 🚀


## 性能基准

- 有限状态机(FSM)转换时间:\<1微秒
- 工具执行时间:P50小于10毫秒,P99小于100毫秒
- MCP往返时间:\<5毫秒(本地)
- 内存基线:\<100MB
- CPU空闲:\<5%
- 二进制文件大小:小于10MB(已剥离符号)

## 做出贡献

请确保所有贡献均符合质量标准:

Before committing

make pre-commit

Before pushing

make pre-push


## 许可证

MIT 许可证 - 详情请参阅 LICENSE 文件

## 支持

对于问题和疑问:

- GitHub Issues(问题跟踪): 
- 文档: [文档/](docs/)

## 致谢

构建于:

- Rust及其Cargo生态系统
- PMAT质量分析工具
- MCP协议规范
- 使用QuickCheck进行基于属性的测试
- 使用cargo-fuzz进行模糊测试

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Rust编程Rust本地部署有限状态机MCP协议生产级代理确定性系统

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

典型使用场景

多步任务编排

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

长期上下文

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

接自有流程

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

选择建议

值得选的地方

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

先想清楚的地方

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

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

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

同类对比

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

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 条

Deterministic MCP Agents 怎么安装?

公开资料给出的安装命令是 docker run -p 8080:8080 mcp-server,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Deterministic MCP Agents 怎么在 Claude Desktop、Cursor 里配置?

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

Deterministic MCP Agents 收费吗?

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

Deterministic MCP Agents 需要 API Key 吗?

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

Deterministic MCP Agents 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP