Token导航 LogoToken导航TokenDH.com
sailor (Aj Geddes) logo
文档知识stdio官方级别未说明来源级核验

sailor (Aj Geddes)

MCP Server

Sailor是一个结合Web界面和MCP服务器的Mermaid图表生成工具,支持AI驱动的图表生成和实时预览,适用于技术文档编写和系统设计。

工具数

0

提示词数

0

GitHub Stars

5

资源数

0
图表生成PythonClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

aj-geddes

提供方

aj-geddes

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

🧜‍♀️ 水手-美人鱼图生成器

](https://www.docker.com/) ![Python](https://www.python.org/) ![FastMCP](https://github.com/jlowin/fastmcp) ](https://github.com/aj-geddes/sailor) ![Claude Desktop](https://claude.ai) ![Flask](https://flask.palletsprojects.com/)

给你的美人鱼拍张照! 🎨

Sailor将漂亮的web界面与MCP(模型上下文协议)服务器相结合,用于生成和渲染美人鱼图。使用web UI创建交互式图表,或与Claude Desktop集成,通过自然语言生成AI驱动的图表。

🆕 v2.0中的新增功能

  • 现代FastMCP架构:使用基于装饰器的模式,样板代码减少70%
  • 简化开发:不再有stdio_wrapper复杂性-FastMCP处理所有问题
  • 更快的启动:服务器初始化时间缩短了约50%
  • 更好的类型安全性:贯穿始终的原生Python类型提示
  • 清洁剂API:简单 @mcp.tool()@mcp.prompt() 装饰器
  • 双重运输支持:内置stdio和HTTP/SSE传输
  • 直接图像返回:使用 return_image=true 在不下载文件的情况下内联图像

🏗️ 建筑

Sailor Architecture

Sailor提供 11工具, 11个提示,以及用于生成Mermaid图的综合资源库。

✨ 特性

🌐 web界面

  • 🎨 人工智能发电:使用OpenAI或Anthropic API生成图表
  • 🔄 实时显示:实时渲染,语法高亮显示
  • 📋 复制功能:复制代码和渲染图像
  • 🎯 样式控制:主题和外观定制
  • API密钥验证:密钥有效性即时反馈

🤖 MCP服务器(由FastMCP提供支持)

  • 📐 所有美人鱼图类型:流程图、序列、甘特图、类别、状态、ER、饼图、思维导图、旅程、时间线
  • 🎨 多个主题:默认值、深色、林色、中性
  • ✏️ 手绘外观:可选草图样式渲染
  • 🖼️ 灵活的输出:支持透明背景的PNG
  • 🤖 LLM集成:通过MCP与Claude Desktop配合使用
  • 🐳 完全集装箱化:除了Docker之外不需要依赖项
  • FastMCP架构:带有装饰器的现代、可维护的代码库

Sailor Architecture

🚀 快速开始

选择您喜欢的使用Sailor的方式:

选项A:Web界面🌐

  1. 克隆和设置:
git clone https://github.com/aj-geddes/sailor.git
cd sailor
  1. 配置环境 (后端文件夹):
cd backend
cp .env.example .env
# Edit .env with your API keys
  1. 使用Docker运行:
docker-compose up -d
  1. 访问:打开http://localhost:5000

image

选项B:Claude桌面集成🤖

先决条件:Docker桌面+克劳德桌面

  1. 克隆和构建:
git clone https://github.com/aj-geddes/sailor.git
cd sailor
docker build -f Dockerfile.mcp-stdio -t sailor-mcp .
  1. 配置Claude桌面:

将以下内容添加到您的Claude Desktop配置文件中:

视窗: %APPDATA%\Claude\claude_desktop_config.json\ macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "sailor-mermaid": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "C:\\Users\\YourName\\Pictures:/output",
        "sailor-mcp"
      ]
    }
  }
}

备注:替换 C:\\Users\\YourName\\Pictures 使用您想要的输出目录。

4.重新启动克劳德桌面

完全关闭并重新打开Claude Desktop以加载新配置。

选项C:远程MCP服务器☁️

通过连接到托管的MCP服务器,无需任何本地安装即可使用Sailor。

配置Claude桌面 要使用远程Sailor实例:

{
  "mcpServers": {
    "sailor-remote": {
      "transport": {
        "type": "streamable-http",
        "url": "https://your-sailor-instance.up.railway.app/mcp"
      }
    }
  }
}

远程MCP的好处:

  • 无需Docker或本地安装
  • 始终可用,全天候运行
  • 自动更新和维护
  • 适用于任何配备Claude Desktop的机器

部署您自己的:铁路部署指南 托管您自己的远程实例。

📖 用法

🌐 web界面

  1. 输入API密钥:提供您的OpenAI或Anthropic API密钥
  2. 描述你的图表:输入自然语言描述
  3. 生成:点击“生成图表”创建Mermaid代码
  4. 定制:使用样式控件调整外观
  5. 出口:使用复制按钮复制代码或图像

🤖 Claude桌面集成

配置后,您可以在Claude Desktop中使用自然语言命令:

  • “使用水手美人鱼创建显示登录过程的流程图”
  • “生成一个显示API调用的带有sailor-mermaid的序列图”
  • “使用水手美人鱼为项目时间表创建甘特图”
  • “给我看美人鱼图和水手美人鱼的例子”

图像会自动保存到您配置的输出目录中。

🛠️ 可用工具

渲染工具

工具说明
validate_and_render_mermaid验证Mermaid代码并将其渲染为图像。选项: return_image=true 对于内联显示, return_base64_text=true 用于可保存的base64
get_diagram按文件ID检索渲染图。使用 as_base64_text=true 获取可保存的base64
request_mermaid_generation请求AI根据您的描述生成美人鱼图代码

在本地保存图像(远程服务器)

当通过远程MCP服务器(如Railway)使用Sailor时,服务器无法写入您的本地文件系统。使用 return_base64_text=true 要获取可提取的base64格式的图像:

# The response includes base64_data which you can save via:
echo "" | base64 -d > diagram.png

帮助和示例工具

工具说明
get_mermaid_examples按类别或复杂性获取不同Mermaid图类型的示例
get_diagram_template获取可定制的模板,以快速生成图表
get_syntax_help获取特定图表类型的语法参考和帮助

分析工具

工具说明
analyze_diagram_code分析Mermaid代码并提供改进建议
suggest_diagram_improvements获取改进现有图表的有针对性的建议

状态工具

工具说明
health_check检查服务器运行状况并获取状态信息
server_status获取详细的服务器状态和指标

💬 可用提示

交互式向导,通过引导对话帮助您创建图表:

流程图和工艺图

提示描述
flowchart_wizard创建流程图的交互式向导
sequence_diagram_wizard创建序列图指南
state_diagram_wizard为系统行为创建状态机图
troubleshooting_flowchart创建诊断和故障排除流程图

数据和结构图

提示描述
er_diagram_wizard为数据库设计实体关系图
class_diagram_wizard创建面向对象设计的类图
architecture_diagram创建系统架构图

可视化图表

提示描述
data_visualization创建图表和数据可视化
project_timeline为项目规划创建甘特图
mindmap_wizard为头脑风暴和概念组织创建思维导图
user_journey_wizard绘制客户或用户旅程图

🎨 造型选项

  • 主题: default, dark, forest, neutral
  • : classic, handDrawn
  • 背景: transparent, white
  • 方向: TB (上下), LR (左右), BT, RL

📁 项目结构

sailor/
├── backend/                  # Web UI Flask application
│   ├── app.py               # Main Flask server
│   ├── static/              # Frontend files (HTML/CSS/JS)
│   ├── requirements.txt     # Web UI dependencies
│   └── .env.example         # Environment template
├── src/
│   └── sailor_mcp/          # FastMCP server implementation
│       ├── server.py        # Main MCP server with decorators
│       ├── renderer.py      # Mermaid rendering engine
│       ├── validators.py    # Syntax validation
│       ├── prompts.py       # AI prompt templates
│       └── mermaid_resources.py # Examples and templates
├── tests/                   # Comprehensive test suite
├── Dockerfile.mcp-stdio     # MCP server container
├── docker-compose.yml       # Multi-service setup
├── setup.py                 # Python package setup (v2.0.0)
└── requirements.txt         # FastMCP dependencies

📚 文档

综合文档可在 docs/ 目录:

开发脚本位于 scripts/ 目录。

🧪 发展

Web UI开发

# Setup environment
cd backend
cp .env.example .env
# Edit .env with your API keys

# Install dependencies
pip install -r requirements.txt

# Run Flask development server
python app.py
# Access at http://localhost:5000

MCP服务器开发(FastMCP v2.0)

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install FastMCP and dependencies
pip install fastmcp>=0.5.0
pip install -e .

# Install Playwright browsers
playwright install chromium

# Run tests
pytest

# Run MCP server with stdio (Claude Desktop)
python -m sailor_mcp.server

# Run MCP server with HTTP/SSE (Web clients)
python -m sailor_mcp.server --http --port 8000

全栈开发

# Run everything with Docker Compose
docker-compose up --build

# Web UI: http://localhost:5000
# MCP Server: Available for Claude Desktop integration

🐛 故障排除

服务器未出现在Claude桌面中

  1. 确保Docker桌面正在运行
  2. 检查图像是否存在: docker images | grep sailor-mcp
  3. 验证配置文件位置和JSON语法
  4. 完全重新启动克劳德桌面

连接问题

手动测试服务器:

docker run -i --rm sailor-mcp

查看日志

检查Docker日志:

docker logs $(docker ps -a | grep sailor-mcp | awk '{print $1}')

📝 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 复刻仓库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

🙏 致谢

______________________________________________________________________

由...制作❤️ 适用于Claude Desktop用户

目录标签

目录标签

图表生成PythonClaude本地部署AI集成技术文档系统设计实时预览

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP