Token导航 LogoToken导航TokenDH.com
Miro Rust Remote MCP logo
安全风控未说明官方级别未说明来源级核验

Miro Rust Remote MCP

MCP Server

一个基于Rust构建的生产级Miro板操作MCP服务器,支持OAuth2认证,可编程创建和管理Miro板,特别专注于可视化敏捷团队组织结构。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
RustClaude安全Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

duquesnay

提供方

duquesnay

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Miro Rust远程MCP服务器

用于Miro板操作的生产就绪模型上下文协议(MCP)服务器,内置于Rust中,具有OAuth2身份验证。使Claude AI能够以编程方式创建和管理Miro董事会,特别关注可视化敏捷的团队组织结构。

特性

  • OAuth2身份验证:具有PKCE和CSRF保护的安全授权码流
  • 自动令牌刷新:无缝令牌续订,无需用户干预
  • 董事会运作:以编程方式列出和创建Miro板
  • 视觉元素:创建便签、形状、文本和框架
  • 项目管理:列出、更新和删除公告板项目(即将推出)
  • 连接器:创建显示关系的样式化箭头和线条(即将推出)
  • 小队可视化:快速敏捷团队结构可视化(即将推出)

关键差异

  • 第一个启用OAuth2的Miro MCP:与使用静态令牌的现有TypeScript实现不同
  • 防锈性能:内存安全、并发、快速
  • 远程MCP:可通过HTTPS从Claude.ai web界面访问
  • 生产准备就绪:AES-256-GCM令牌加密,全面的错误处理

先决条件

  • Rust 1.70+(2021年版)
  • Miro开发人员帐户
  • OpenSSL(用于生成加密密钥)

设置

1.创建Miro OAuth2应用程序

  1. 访问https://developers.miro.com/
  2. 点击“您的应用”→ “创建新应用程序”
  3. 注意你的 客户端ID客户端密钥
  4. 添加重定向URI: http://localhost:3010/oauth/callback (用于地方发展)

2.配置应用程序

创建配置目录和文件:

# Create config directory
mkdir -p ~/.config/mcp/miro-rust

# Copy example config
cp config.example.json ~/.config/mcp/miro-rust/config.json

# Generate encryption key
openssl rand -hex 32

# Edit config.json with your credentials
nano ~/.config/mcp/miro-rust/config.json

配置文件(~/.config/mcp/miro-rust/config.json):

{
  "client_id": "your_client_id_here",
  "client_secret": "your_client_secret_here",
  "redirect_uri": "http://localhost:3010/oauth/callback",
  "encryption_key": "output_from_openssl_rand_hex_32",
  "port": 3010
}

配置字段:

  • client_id:您的Miro OAuth2客户端ID(来自Miro开发者门户)
  • client_secret:您的Miro OAuth2客户端密码(来自Miro开发者门户)
  • redirect_uri:OAuth2回调URL(必须与Miro应用程序配置匹配)

- 发展: http://localhost:3010/oauth/callback - 生产: https://your-domain.com/oauth/callback

  • encryption_key:用于令牌加密的32字节十六进制字符串(使用生成 openssl rand -hex 32)
  • port:服务器端口(3010用于开发)

3.构建和运行

# Install dependencies and build
cargo build --release

# Run the server
cargo run --release

# Or run in development mode
cargo run

4.启动OAuth流

MCP服务器将提供 start_auth 返回授权URL的工具。在浏览器中打开此URL以授权应用程序。

项目结构

miro-mcp-server/
├── src/
│   ├── auth/           # OAuth2 implementation
│   │   ├── oauth.rs    # Authorization code flow with PKCE
│   │   ├── token_store.rs  # AES-256-GCM encrypted token storage
│   │   └── types.rs    # Authentication types and errors
│   ├── mcp/            # MCP protocol implementation
│   │   ├── server.rs   # MCP server with rmcp framework
│   │   └── auth_handler.rs  # OAuth callback handling
│   ├── miro/           # Miro API client
│   │   ├── client.rs   # HTTP client with auto-refresh
│   │   └── types.rs    # Miro API types (boards, items, etc.)
│   ├── config.rs       # Environment configuration
│   ├── lib.rs          # Library exports
│   └── main.rs         # Entry point
├── planning/           # Agile planning artifacts
└── tests/             # Integration tests

可用的MCP工具

董事会运作

  • list_boards:列出所有可访问的Miro板
  • create_board:创建一个具有名称和描述的新板

视觉元素

  • create_sticky_note:使用自定义内容、位置和颜色创建便签
  • create_shape:为组织结构创建形状(矩形、圆形、三角形)
  • create_text:在板上创建文本元素
  • create_frame:创建用于对相关内容进行分组的框架

即将推出

  • list_items:列出按类型筛选的板项
  • update_item:动态更新项目属性
  • delete_item:从板上移除物品
  • create_connector:使用样式化的箭头/线条连接项目
  • 用于快速创建组织结构图的小队可视化工具

安全

  • OAuth2安全:PKCE阻止授权码拦截,状态参数阻止CSRF
  • 令牌加密:静态令牌的AES-256-GCM加密
  • 秘密管理:从环境变量加载的所有凭据
  • 无不安全代码:100%安全Rust,保证内存安全
  • 全面的错误处理:结果类型贯穿始终,没有生产恐慌

发展

运行测试

# Run all tests
cargo test

# Run with output
cargo test -- --nocapture

# Run specific test
cargo test test_name

代码质量

# Lint with clippy
cargo clippy -- -D warnings

# Format code
cargo fmt

# Check formatting
cargo fmt -- --check

Git工作流

此项目遵循Feature Branch工作流,使用原子提交:

# Create feature branch
git checkout -b feat/feature-name

# Make changes, run tests
cargo test && cargo clippy

# Commit (all commits reviewed for completeness)
git add .
git commit -m "feat: description of change"

# Merge to main
git checkout main
git merge feat/feature-name

体系结构决策

为什么是Rust?

  • 无垃圾回收的内存安全
  • 通过tokio提供出色的异步/等待支持
  • 强大的类型系统可以在编译时防止许多错误
  • 生产部署的快速性能

为什么选择OAuth2与静态令牌?

  • 更好的安全性(令牌可以撤销)
  • 用户特定权限(每个用户单独授权)
  • 自动刷新(无需手动续订令牌)
  • Claude.ai web界面集成所需

为什么AES-256-GCM用于令牌存储?

  • 经过身份验证的加密(机密性+完整性)
  • 行业标准,经过良好审核
  • 通过Rust高效 ring 板条箱
  • 防止令牌篡改

部署

地方发展

  1. 配置 ~/.config/mcp/miro-rust/config.json 具有localhost重定向URI
  2. cargo run
  3. OAuth回调在本地主机3010上工作

生产(需要HTTPS)

  1. 部署到Scaleway容器(或替代平台)
  2. 配置HTTPS/TLS证书
  3. 更新重定向URI ~/.config/mcp/miro-rust/config.json Miro开发者门户
  4. 使用部署 cargo build --release

生产服务器上的配置:

# On your production server
mkdir -p ~/.config/mcp/miro-rust
nano ~/.config/mcp/miro-rust/config.json

# Add your production configuration with HTTPS redirect URI:
# "redirect_uri": "https://your-domain.com/oauth/callback"

推荐平台:

  • Scaleway集装箱 (已选择):基于容器的部署、原生HTTPS、可预测的定价
  • 铁路:部署简单,自动HTTPS,基于环境的配置
  • 自托管:完全控制,需要Nginx用于HTTPS,手动配置管理

主要用例:敏捷小队可视化

示例提示克劳德:

“创建一个Miro板,显示3个敏捷小组(Alpha、Beta、Gamma)。每个小组有1个产品负责人、1个Scrum Master和5个开发人员。显示团队成员向Scrum Master的汇报关系。”

MCP服务器将:

  1. 创建新板
  2. 为每个小队创建框架
  3. 为团队成员创建颜色编码的便签(PO=黄色,SM=绿色,Dev=蓝色)
  4. 创建显示报告关系的连接器
  5. 返回板URL

通过自然语言在5分钟内完成!

API文档

米罗API v2

  • 基本URL: https://api.miro.com/v2/
  • 认证:承载令牌(OAuth2)
  • 速率限制:每个用户每分钟100个请求
  • 文档: https://developers.miro.com/docs/rest-api-reference

MCP协议

  • 规格说明: https://modelcontextprotocol.io/
  • 运输:stdio(Claude.ai web界面)或HTTP
  • 框架:rmcp(官方Rust SDK)

故障排除

“找不到配置文件”

  • 确保配置目录存在: mkdir -p ~/.config/mcp/miro-rust
  • 复制示例配置: cp config.example.json ~/.config/mcp/miro-rust/config.json
  • 使用您的凭据编辑配置: nano ~/.config/mcp/miro-rust/config.json

“身份验证失败”

  • 检查 client_idclient_secret~/.config/mcp/miro-rust/config.json
  • 验证 redirect_uri 与Miro应用程序配置完全匹配
  • 检查令牌尚未过期(应自动刷新)

“令牌加密失败”

  • 确保 encryption_key 正好是64个十六进制字符(32字节)
  • 生成新密钥: openssl rand -hex 32
  • 在中更新它 ~/.config/mcp/miro-rust/config.json

“超出费率限制”

  • Miro API限制:100次请求/分钟
  • 等待60秒,然后重试
  • 考虑对大型可视化进行批量操作

贡献

  1. 分叉存储库
  2. 创建特征分支(git checkout -b feat/amazing-feature)
  3. 遵循Rust约定(运行 cargo fmtcargo clippy)
  4. 为新功能编写测试
  5. 确保所有测试通过(cargo test)
  6. 以传统格式提交(feat:, fix:, refactor:)
  7. 推送并创建拉取请求

路线图

冲刺1(完成)✅

  • \[x\] OAuth2授权与PKCE
  • \[x\] 自动令牌刷新
  • \[x\] 董事会列表和创建
  • \[x\] 视觉元素创建(便签、形状、文本、框架)

Sprint 2(进行中)

  • \[\]项目管理(列表、更新、删除)
  • \[\]创建带有标题的连接器
  • \[\]小队可视化编排

Sprint 3(计划中)

  • \[\]批量操作以提高性能
  • \[\]生产部署指南
  • \[\]Claude.ai web界面集成测试

许可证

MIT许可证-有关详细信息,请参阅许可证文件

致谢

  • Miro API v2,用于全面的板操作
  • 用于AI原生工具集成的MCP协议
  • 用于清洁MCP实现的rmcp-Rust SDK
  • oauth2-rs用于健壮的oauth2客户端
  • Claude Code开发平台的拟人化

支持

  • 问题: https://github.com/yourusername/miro-rust-remote-mcp/issues
  • Miro API文件: https://developers.miro.com/docs
  • MCP规范: https://modelcontextprotocol.io/

______________________________________________________________________

内置于❤️ 在Rust中|由OAuth2提供技术支持|由AES-256-GCM保护

目录标签

目录标签

RustClaude安全Miro集成本地部署敏捷可视化OAuth2认证Rust开发远程MCP

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP