提示增强服务器

一个生产就绪的MCP服务器,用于将原始编码提示转换为结构化、增强的提示,支持多种AI提供商,具有企业级安全性和监控功能。

  • by Devora-AS
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Devora-AS/devora-prompt-assistant-mcp

使用说明

Devora 提示助手(MCP 服务器)

🚀 准生产就绪的MCP服务器 - 利用具备企业级安全、监控和可靠性的多个AI供应商,将原始编码提示转换为结构化、增强型的提示。

目录

概述

这个(或“它”) Devora 提示助手 这是一个生产就绪的模型上下文协议(MCP)服务器,能够将您的原始编码提示转换为结构化、增强型的提示,以优化人工智能助手的使用。该服务器采用企业级安全措施、全面的监控系统,并遵循所有14项MCP服务器最佳实践,确保高可靠性。

这有什么特别之处?

  • 🎯 生产级实现了适用于企业使用的全部14项MCP服务器最佳实践
  • 🔒 安全第一采用速率限制、断路器和输入净化的纵深防御安全策略
  • 📊 完整可观测性全面的指标、追踪和结构化日志记录
  • ⚡ 高性能>100 请求/秒(标准输入输出),>500 请求/秒(HTTP)配合智能缓存
  • 🛡️ 有韧性断路器保护、优雅降级,以及99.9%的正常运行时间
  • 🔧 多供应商支持支持5家AI提供商,具备自动故障转移功能

主要特点

🧠 这个符号在中文里通常被用来表示“大脑”或“思考”,但直接翻译并没有一个固定的中文词汇对应,所以可以理解为“思考中”、“大脑”或者在某些语境下表示“智慧”。如果要在句子中使用,可以根据上下文来具体翻译。例如:“他正在🧠”可以翻译为“他正在思考”。 智能提示增强

  • 用例自动检测自动检测调试、重构、功能创建、架构决策、技术对比和内容设计
  • 框架检测检测您的技术栈(React、Vue、Angular、Node.js、Python、PHP 等)并调整建议
  • 智能问题生成当提示模糊或不完整时,生成澄清性问题
  • 结构化模板强制使用特定于用例的框架来保持一致的Markdown部分

🔍 智能上下文管理

  • Git 集成自动检测Git仓库并使用 git diff 对于已更改的文件
  • 智能过滤荣誉 .gitignore 模式并排除常见的构建目录
  • 多重策略: changed, paths,和 related 收款策略
  • 智能缓存具有10分钟TTL(生存时间)的LRU缓存,用于快速处理重复请求

🔒(锁形符号,常用于表示安全、保密或锁定状态) 企业安全

  • 纵深防御6层安全模型,包括网络隔离、身份验证、授权、验证、净化和速率限制
  • 断路器防止级联故障,实现自动恢复
  • **输入/输出消毒(或净化)**防止注入攻击和数据泄露
  • 秘密涂改/秘密遮蔽API密钥和令牌会自动从日志中删除

📊(表格/数据图表) 生产监控

  • 综合指标跟踪吞吐量、延迟、错误率、缓存命中率和内存使用情况
  • 分布式追踪完整的请求生命周期跟踪,支持追踪ID传播
  • 结构化日志记录带有轮转功能的JSON日志,错误/审计文件分开
  • 健康检查: /health, /ready,以及 /metrics 终端节点(或终点)

⚡(闪电符号,常用于表示速度、能量或惊人的事物) 高性能

  • 连接池为大型语言模型(LLM)提供商重用HTTP连接
  • 智能缓存基于大小的驱逐策略,TTL为15分钟
  • 内存守护者在内存使用率达到90%时自动清除缓存
  • 批量操作优化文件读取和上下文收集

快速入门

🚀(火箭/快速上升/飞速发展等意象,具体含义需结合上下文) 一键光标安装

点击上面的按钮 自动将此MCP服务器添加到Cursor中。

⚠️ 重要至少需要一个AI提供商的API密钥。服务器将自动检测可用的提供商。

🧪 测试设定 TEST_MODE=true 为了测试目的,可在没有API密钥的情况下运行。

📋 译文:清单 手动安装

将此添加到您的Cursor MCP设置中(~/.cursor/mcp.json):

{
  "mcpServers": {
    "devora-prompt-assistant": {
      "command": "npx",
      "args": ["-y", "@devora_no/prompt-assistant-mcp"],
      "env": {
        "TRANSPORT": "stdio",
        "OPENAI_API_KEY": "your-openai-key-here",
        "ANTHROPIC_API_KEY": "your-anthropic-key-here"
      }
    }
  }
}

设置您的API密钥 (至少需满足一项):

export OPENAI_API_KEY="your-openai-key"
export ANTHROPIC_API_KEY="your-anthropic-key"
# ... or any other provider

重启光标 你已经准备好了,出发吧!

安装

先决条件

  • Node.js20+(推荐:最新LTS版本)
  • 包管理器pnpm(推荐)、npm 或 yarn
  • 人工智能提供商至少需要一个来自支持提供商的API密钥

安装方法

选项1:NPM(推荐)

# One-time use
npx @devora_no/prompt-assistant-mcp

# Global installation
npm install -g @devora_no/prompt-assistant-mcp
devora-prompt-assistant

# Alias
npx dpa

选项2:开发环境设置

# Clone repository
git clone https://github.com/Devora-AS/devora-prompt-assistant-mcp.git
cd devora-prompt-assistant-mcp

# Install dependencies
pnpm install

# Copy environment template
cp .env.example .env

# Edit with your API keys
nano .env

选项3:Docker

# Run with Docker
docker run -p 8000:8000 \
  -e OPENAI_API_KEY=your_key_here \
  -e AUTH_BEARER_TOKENS=your_token_here \
  ghcr.io/devora-as/devora-prompt-assistant-mcp

快速入门:Inspector(stdio)

🔍 看起来像是放大镜的符号,通常用于表示“查看”、“搜索”或“调查”的意思,在中文里可以翻译为“🔍(放大镜)”或者根据上下文具体含义翻译为“查看”、“搜索”等。但直接作为符号时,一般保留其原样或用“放大镜”来形象地描述其含义。 使用MCP Inspector进行测试

对于开发和调试,请使用带有stdio传输的MCP Inspector:

  1. 构建项目:

    pnpm install && pnpm build
    
  2. 选择您的配置:

    • 已发布的包加载 examples/inspector-stdio.json
    • 本地开发加载 examples/inspector-stdio-local.json
  3. 测试工具:

    • 验证 collect_context 并且 enhance_prompt 被列出
    • 运行测试场景来自 docs/inspector-playbook.md

🐛 蝇(或译为“虫”) 调试模式

通过设置启用详细日志记录 CONTEXT_DEBUG=1 在你的环境中:

{
  "env": {
    "CONTEXT_DEBUG": "1",
    "LOG_LEVEL": "debug"
  }
}

这为调试文件收集、Git集成以及性能方面提供了全面的追踪信息。

使用

🎯(目标) 核心工作流程

  1. 收集上下文 (可选,但建议):

    {
      "strategy": "changed",
      "maxKB": 32,
      "maxFiles": 20,
      "extensions": ["ts", "tsx", "js", "jsx"]
    }
    
  2. 增强提示:

    {
      "task": "Refactor this React component to use TypeScript",
      "context": "[context from collect_context]",
      "audience": "cursor",
      "style": "detailed"
    }
    

🛠️(工具/修理/扳手等含义的符号,具体翻译可能根据上下文有所不同,此处提供一种可能的翻译)扳手/工具 可用工具

enhance_prompt - 提示增强

将原始编码提示转换为结构化、增强型提示,具备用例检测和智能问题生成功能。

参数:

  • task (字符串,必填):需增强的编码任务
  • context (字符串,可选):来自工作区的额外上下文
  • audience (字符串,可选):目标受众(cursor、claude、copilot、general)
  • style (字符串,可选):响应风格(简洁,详细)
  • constraints (数组,可选):特定约束
  • provider (字符串,可选):要使用的AI提供商
  • temperature (数字,可选):生成温度(0-2)
  • maxTokens (数字,可选):要生成的最大令牌数

collect_context - 工作区上下文收集

利用Git感知和智能过滤功能,智能地从工作区收集相关文件和上下文信息。

参数:

  • strategy (字符串,可选):收集策略(变更、路径、相关)
  • maxKB (数字,可选):最大总大小(以KB为单位)
  • maxFiles (数字,可选):文件的最大数量
  • include (数组,可选):要包含的通配符模式
  • exclude (数组,可选):要排除的全局模式
  • useGit (布尔值,可选):启用 Git 集成
  • extensions (数组,可选):要包含的文件扩展名

🔧 修理工具或螺丝刀的符号,常用于表示需要修理或调整的物品或情况。 大型语言模型(LLM)增强模式

  • review (默认):小幅改进,结构验证
  • **refine**全面内容增强
  • **off**仅使用确定性支架,不调用大型语言模型(LLM)

🌐(表示“互联网”或“世界”的符号,可翻译为“互联网”或根据上下文意译为“全球视野”等) 提供商支持

提供者 默认模型 温度 最大标记数 备注
(标题行,无具体翻译内容) (标题行,无具体翻译内容) (标题行,无具体翻译内容) (标题行,无具体翻译内容) (标题行,无具体翻译内容)
人类优先(Anthropic) claude-3-5-sonnet-latest ✓ 最大令牌数(maxTokens) -
OpenAI o3-mini ✓ maxTokens 对话完成(Chat Completions)
Azure OpenAI gpt-4o-mini ✓ 最大令牌数 需要部署
双子座(Gemini) gemini-2.0-flash ✓ maxOutputTokens 参数名称不同

| 混淆度 | sonar | ✓ | 最大令牌数 | - |

文档 📚 书籍

- 技术深入探讨/技术深度剖析 🎯(靶心)

- 文件和规范

安全与隐私 🔒 表示“锁定”或“安全”的意思。

  • 安全特性纵深防御
  • 6层安全模型速率限制
  • 每个客户端的令牌桶算法断路器
  • 防止连锁故障输入/输出净化(或:输入输出数据清洗)
  • 防止注入攻击秘密删节
  • API密钥会自动从日志中删除不记名令牌认证

安全HTTP传输 🛡️(盾牌符号,无直接对应中文含义,可表示“保护”、“防御”等概念)

  • 隐私保护本地优先
  • 所有处理都在本地stdio模式下进行无数据存储
  • 未存储或传输任何代码或提示秘密删节
  • 敏感数据自动遮蔽上下文收集

可选的工作区扫描,用户可控制

演出 📊 表格/数据图表

  • 性能指标吞吐量
  • **>100 请求/秒(标准输入输出),>500 请求/秒(HTTP)**延迟P95
  • **<100毫秒(确定性),<2秒(使用大语言模型)**错误率
  • **在正常负载下,误差小于0.1%**记忆
  • 每实例512MB,自动清除缓存命中率
  • >70%的重复查询“Uptime”翻译成中文是“正常运行时间”或“系统可用时间”

99.9%的可靠性,配备断路器保护 ⚡(闪电符号,常用于表示速度、能量、惊喜或快速充电等概念,在中文中无直接对应文字,通常保留原样或根据上下文意译)

  • 优化特性连接池
  • 重用HTTP连接智能缓存
  • 15分钟的TTL(生存时间)配合LRU(最近最少使用)驱逐策略内存守护者
  • 在使用率达到90%时自动清除缓存批量操作

优化了文件读取和上下文收集

发展 🏗️ 表示“建筑工地”或“正在建造中”。

src/
├── core/            # Core utilities (security, monitoring, caching)
│   ├── security/    # Rate limiting, sanitization, circuit breaker
│   ├── metrics.ts   # Performance monitoring
│   ├── tracing.ts   # Distributed tracing
│   └── fileLogger.ts # Structured logging
├── config/          # Environment and configuration management
├── providers/       # AI provider adapters
├── server/          # MCP server and transports
├── auth/            # Authentication middleware
└── index.ts         # CLI entry point

项目结构 🛠️(工具/螺丝刀等工具的图标,无具体文字对应,可理解为“工具”或“修理工具”等含义)

# Development
pnpm dev:stdio       # Run with stdio transport
pnpm dev:http        # Run with HTTP transport

# Building
pnpm build           # Build TypeScript to dist/
pnpm prepare         # Build and set executable bit

# Testing
pnpm test            # Run unit tests
pnpm test:watch      # Run tests in watch mode
pnpm test:coverage   # Run with coverage

# Code Quality
pnpm lint            # Run ESLint
pnpm lint:fix        # Fix ESLint issues
pnpm format          # Format with Prettier

可用脚本 🧪 试管/实验(表示与化学实验或科学实验相关的图标)

  • 测试单元测试
  • >80%的覆盖率集成测试
  • 所有工具的工作流程混沌测试
  • 在失败条件下的韧性性能测试

关键绩效指标(KPI)对标

🔧 故障排除

快速解决方案

  • 服务器无法启动? TEST_MODE=true
  • 设置至少一个API密钥或使用 ~/.cursor/mcp.json

检查你的配置在

  • 在 collect_context 中遇到 Git 错误? strategy: "paths" 使用 "changed"
  • 而不是

或者初始化一个 Git 仓库

  • 连接问题?
  • 验证服务器是否正在运行
  • 检查端口冲突

确保MCP配置正确

测试模式

# Test mode (no API keys needed)
TEST_MODE=true npx @devora_no/prompt-assistant-mcp

# Or in MCP config
{
  "env": {
    "TEST_MODE": "true"
  }
}

无需API密钥即可运行以进行测试:

健康检查

npx @modelcontextprotocol/inspector --cli npx -y @devora_no/prompt-assistant-mcp --method tools/call --tool-name health_check

检查服务器状态和配置:

调试模式

CONTEXT_DEBUG=1 LOG_LEVEL=debug npx @devora_no/prompt-assistant-mcp

启用详细日志记录:

常见问题 | 问题 | 解决方案 | |---------|----------| TEST_MODE=true “未配置提供程序” | 设置API密钥或 | strategy: "paths" | “未检测到Git历史记录” | 使用 | | "连接已关闭" | 重启服务器,检查日志 |

响应缓慢 | 检查API限制,启用缓存 📖 书籍或阅读的象征完整的故障排除指南 :

docs/troubleshooting.md 翻译为中文是:“文档/故障排除.md”

常见问题解答(FAQ)

常见问题 问:MCP是什么?

A:模型上下文协议(MCP)是一种用于将人工智能助手连接到数据源和工具的标准。此服务器实现了MCP规范。 问:支持哪些人工智能提供商?

A: Anthropic Claude、OpenAI、Azure OpenAI、Google Gemini和Perplexity。至少需要一个API密钥。 问:这个产品已经可以投入生产了吗?

A: 是的!这实现了所有14项MCP服务器最佳实践,具备企业级的安全性、监控和可靠性。

安装与设置 问:我如何在Cursor中安装这个? ~/.cursor/mcp.json A: 使用上面的一键安装按钮,或者手动将配置添加到您的

文件。 问:我需要所有的提供商API密钥吗?

A: 不,你只需要至少一个。服务器会自动检测可用的提供商。 问:stdio 和 HTTP 传输方式有什么区别?

A: Stdio 用于本地开发(推荐),HTTP 用于远程访问(在 v0.2.1 版本中为实验性功能)。

API和集成 问:我该如何使用这些工具? collect_context A: 这些工具在Cursor中是自动可用的。使用 enhance_prompt 收集工作区文件,然后

以优化你的提示。 问:我可以将这个与其他MCP客户端一起使用吗?

A: 是的,这实现了标准的MCP协议,并且可以与任何兼容MCP的客户端一起工作。 问:输入限制是什么?

A:总输入:64KB,任务:32KB,上下文:16KB。这些限制确保了最佳性能。

安全 问:我的代码安全吗?

A: 是的,在stdio模式下,所有处理都在本地进行。没有代码或提示会被存储或传输给第三方。 问:API密钥安全吗?

A: 是的,API密钥从不记录,并且会自动从错误消息中删除。 问:那么速率限制呢?

A: 服务器对每个客户端实施令牌桶速率限制,以防止滥用。

故障排除 问:“没有工具、提示或资源”的错误?

A: 检查您的MCP配置,确保已设置API密钥,并重启Cursor。 问:“未配置提供程序”错误?

A: 在您的环境变量中至少设置一个提供商API密钥。 问:我如何启用调试日志记录? LOG_LEVEL=debug A: 设置

在你的环境变量中。

贡献;助力 我们欢迎投稿!请参阅我们的 贡献指南

详情如下。

  1. 如何贡献(或:如何参与贡献)
  2. 为仓库创建分支(或“克隆仓库”)
  3. 创建一个特性分支
  4. 进行你的更改
  5. 添加测试
  6. 运行代码检查和测试

提交拉取请求

  • 报告问题漏洞/错误 :
  • **GitHub Issues(在GitHub上,Issues用于跟踪问题、讨论和项目管理等)**安全 :
  • 安全策略讨论 :

GitHub 讨论区

许可证 MIT 许可证 - 详见 许可证


**文件中有详细信息。**最后更新时间
2025年1月15日版本
0.2.1状态
生产就绪安全状态
✅ 安全且受监控由……维护

吞噬者(或译为“掠食者”,根据上下文,“Devora”可能是一个虚构的生物或角色名,具体翻译需结合语境)

📄 许可证 MIT 许可证 - 详见 许可证


详情见文件。 由……开发 吞噬者(或译为“德沃拉”,但根据上下文,“吞噬者”可能更为贴切,因为“Devora”在某些语境下可能是一个虚构名称或特定概念)

☔️