PrivateGPT MCP Server
镜子 (jìng zi)
MCP-Mirror
README
目录
- PrivateGPT MCP Server
- 什么是 MCP?
- 代理、LLM 和 MCP 服务器之间的交互
- 在此上下文中使用代理的优势
- 概述
- 安全特性概述
- PGPT 服务器的功能概述
- 安装
- 配置说明
- 代理配置
- 服务器配置
- 限制
- 日志记录
- 功能激活/停用
- ENABLE_LOGIN
- ENABLE_LOGOUT
- ENABLE_CHAT
- ENABLE_CONTINUE_CHAT
- ENABLE_GET_CHAT_INFO
- ENABLE_DELETE_ALL_CHATS
- ENABLE_DELETE_CHAT
- ENABLE_LIST_GROUPS
- ENABLE_STORE_GROUP
- ENABLE_DELETE_GROUP
- ENABLE_CREATE_SOURCE
- ENABLE_EDIT_SOURCE
- ENABLE_DELETE_SOURCE
- ENABLE_GET_SOURCE
- ENABLE_LIST_SOURCES
- ENABLE_STORE_USER
- ENABLE_EDIT_USER
- ENABLE_DELETE_USER
- ENABLE_REACTIVATE_USER
- 用法
- 项目结构
- 许可证
PrivateGPT MCP Server
一个模型上下文协议 (MCP) 服务器的实现,允许您将 PrivateGPT 用作您首选的 MCP 客户端的代理。 这实现了 PrivateGPT 的强大功能与任何 MCP 兼容应用程序之间的无缝集成。
什么是 MCP?
MCP 是一个开放协议,它标准化了应用程序如何向 LLM 提供上下文。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。
为什么选择 MCP?
MCP 帮助您在 LLM 之上构建代理和复杂的工作流程。LLM 经常需要与数据和工具集成,而 MCP 提供了:
- 一个不断增长的预构建集成列表,您的 LLM 可以直接插入
- 在 LLM 提供商和供应商之间切换的灵活性
- 在您的基础设施中保护数据的最佳实践
工作原理
MCP 的核心遵循客户端-服务器架构,其中主机应用程序可以连接到多个服务器:
- MCP 主机:诸如应用程序、Claude Desktop、IDE 或 AI 工具等想要通过 MCP 访问数据的程序
- MCP 客户端:与服务器保持 1:1 连接的协议客户端
- MCP 服务器:轻量级程序,每个程序都通过标准化的模型上下文协议公开特定的功能
- 本地数据源:您的计算机的文件、数据库和 MCP 服务器可以安全访问的服务
- 远程服务:可通过互联网访问的外部系统(例如,通过 API),MCP 服务器可以连接到这些系统
概述
此服务器提供 MCP 客户端和 PrivateGPT API 之间的桥梁,允许您:
- 使用公共和私有知识库与 PrivateGPT 聊天
- 创建和管理知识来源
- 将来源组织成组
- 通过基于组的权限控制访问
为什么选择代理
与 LLM(大型语言模型)和 MCP 服务器相关的代理是一种专门的软件组件,充当语言模型和应用程序之间的中介。它处理诸如处理请求、通过 MCP 与 LLM 交互、管理工作流程、确保整个系统内的安全性和效率等任务。通过利用代理,可以将复杂的基于 AI 的应用程序设计为有效、安全和可扩展。 此存储库中代理的代码可用于将其实现到自己的解决方案/应用程序中。
代理、LLM 和 MCP 服务器之间的交互
这些组件的交互使得开发强大、可扩展和安全的 AI 应用程序成为可能。以下是一个简化的场景,说明了这种交互:
- 用户输入: 用户通过托管在 MCP 服务器上的用户界面发送请求。
- 代理处理: MCP 服务器上的代理接收请求,对其进行验证,并为 LLM 准备请求。
- LLM 交互: 代理将请求转发到 LLM,LLM 生成响应。
- 响应处理: 代理接收来自 LLM 的响应,如果需要,进一步处理响应(例如,格式化、与其他数据源集成),然后将其发送回用户。
- 安全和日志记录: 在此过程中,代理监视交互,确保遵守安全策略,并记录相关信息以供以后分析。
在此上下文中使用代理的优势
- 模块化: 代理允许明确分离职责,使系统更易于维护和扩展。
- 安全性: 集中式访问管理和活动监视有助于最大限度地降低安全风险。
- 效率: 自动化代理可以比手动流程更快、更一致地执行任务。
- 灵活性: 可以轻松地调整或扩展代理以支持新功能或业务需求的变化。
加密密码的重要性
在任何处理敏感数据的应用程序中,安全性至关重要。此服务器管理两组关键凭据:
- 代理头部: 例如,HAProxy 用于身份验证和管理流量。
- LLM 访问密码: 用于保护对大型语言模型的访问。
以明文形式存储这些密码会带来重大的安全风险,包括未经授权的访问和潜在的数据泄露。 为了减轻这些风险,必须加密这些密码,并且仅在系统内处理其密文。
仅使用密文的好处
- 增强的安全性: 即使攻击者获得了对配置文件或环境变量的访问权限,如果没有相应的解密密钥,加密密码仍然无法理解。
- 合规性: 加密有助于遵守强制保护敏感信息的安全标准和法规。
- 完整性: 确保密码不会被篡改,从而维护身份验证机制的完整性。
安全性
实施了以下安全功能,以确保客户端应用程序和服务器之间的数据保护和安全通信。这些功能涵盖加密、解密、密钥管理和传输安全。
1. 传输层安全 (TLS)
- 为了保护客户端和服务器之间的通信,可以激活 TLS。客户端和服务器之间传输的所有数据都使用 TLS(最低版本 1.2)进行加密。
为什么应该在客户端和服务器之间启用 TLS?
a. 通信加密
- TLS(传输层安全)确保客户端和服务器之间传输的所有数据都经过加密。这可以保护敏感信息(如密码、信用卡详细信息和个人数据)免受窃听攻击(中间人攻击)。
b. 数据完整性
- TLS 保证传输的数据保持不变和未被篡改。完整性检查确保接收到的数据与发送的数据完全相同。
c. 身份验证
- TLS 通过数字证书实现服务器(以及可选的客户端)的安全身份验证。这可以防止用户成为虚假网站上的网络钓鱼攻击的受害者。
d. 防止中间人攻击
- TLS 加密连接,使攻击者几乎不可能拦截或操纵流量。如果没有 TLS,攻击者可以捕获和修改数据包。
e. 符合安全标准和法规
- 许多法规要求(例如,GDPR、PCI-DSS)强制执行安全数据传输。TLS 是这些安全要求的基本组成部分。
f. 防止降级和重放攻击
- TLS 可防止尝试将连接降级到不安全版本(降级攻击)或重放先前有效请求(重放攻击)的攻击。
结论
在客户端和服务器之间启用 TLS 对于确保数据隐私、安全性和通信完整性至关重要。它不仅可以保护敏感信息,还有助于满足合规性要求并提高用户信任度。
2. 密码加密
可以使用 RSA(Rivest–Shamir–Adleman)公钥密码术对密码进行加密。这确保了敏感数据(如用户密码)永远不会以明文形式传输。
方法
- 使用 2048 位密钥长度的 公钥加密。
- 填充:
RSA_PKCS1_PADDING
以增强安全性并防止已知的填充攻击。
过程
- 服务器管理员通过执行
node security/generate_encrypted_password.js ~/.ssh/id_rsa_public.pem
并将加密密码分发给客户端,使用服务器的公钥 (id_rsa_public.pem
) 加密客户端的密码。 - 或者:客户端可以使用
keygen
- 函数使用服务器的公钥 (id_rsa_public.pem
) 加密密码。因此,必须在服务器的配置 (pgpt.env.json
) 中启用该函数。重要提示:使用此函数也意味着通过网络传输数据。因此,请确保数据流量安全且无法被拦截。 - 最后,加密密码将发送到服务器,服务器使用其私钥对其进行解密。
优点
- 非对称加密确保只有服务器可以解密密码。
- 即使通信通道受到威胁,加密数据仍然安全。
3. 密钥管理
为了保护数据通信和加密过程,遵循以下密钥管理原则:
公钥
- 安全地存储在服务器上 (
id_rsa.pub
)。 - 仅用于加密,如果暴露不会构成安全风险。
PEM 密钥
- 安全地存储在服务器上 (
id_rsa_public.pem
)。 - 必须使用公共证书创建(请参阅:服务器配置)
私钥
- 安全地存储在服务器上 (
id_rsa
)。 - 使用适当的文件权限限制访问 (
chmod 600
)。 - 专门用于解密操作。
密钥轮换
- 可以定期或在检测到安全事件时轮换密钥。重要提示:如果重新颁发这些密钥,客户端或 AI 代理会立即失去对 MCP 服务器的访问权限,并且需要新的 RSA 密钥(加密密码)!
- 安全地使旧密钥失效。
4. 服务器端解密
解密专门在服务器上使用私钥执行:
过程
- 服务器接收来自客户端的加密密码。
- 私钥解密密码以检索原始明文。
- 解密的密码在内部使用(例如,身份验证),并且永远不会以明文形式存储。
安全处理
- 解密的密码仅在处理期间存在于内存中。
- 安全的内存管理实践确保敏感数据在使用后立即清除。
证书验证
- 在双方验证证书以确保服务器和客户端的真实性。
- (可选)可以启用相互 TLS 以增强安全性。
5. 授权令牌
令牌用于验证请求并确保只有授权用户才能访问系统:
令牌管理
- 令牌在成功登录后生成。
- 它们是短期的,并在预定义的时间后自动过期。
- 令牌使用 HMAC 或 RSA 进行签名,使其具有防篡改功能。
6. 密钥生成限制 (Keygen)
为了防止滥用系统,密钥生成 (keygen
) 受到限制:
配置
- 服务器具有一个配置选项 (
ALLOW_KEYGEN
),用于启用或禁用密钥生成。 - 尝试在禁用时调用密钥生成函数会导致错误消息。
审计日志记录
- 所有密钥生成操作都会记录下来以进行审计和监视。
7. 基于证书的访问控制 (CBAC)
- 由于在激活证书身份验证时,代理不需要密码,并且使用密钥登录到服务器,因此它会自动锁定到此服务器。 如果它想要登录到另一个 MCP PGPT 服务器,则此登录尝试将被拒绝,因为密钥会根据服务器的私有证书进行检查。
功能
- 诸如
keygen
、store_user
和edit_source
等函数只能由授权角色访问。 - 未经授权的访问尝试将被拒绝,并显示详细的错误消息。
配置
- 可以在服务器的配置 (
Functions
对象) 中指定启用或禁用的函数。
8. 安全配置
服务器配置包含多个与安全相关的选项:
SSL_VALIDATE
- 验证 SSL/TLS 证书以确保安全通信。
- 可以根据环境要求(例如,测试与生产)启用或禁用。
PW_ENCRYPTION
- 启用或禁用密码加密。
- 确保在加密不可行的环境中的兼容性。
9. 日志记录和监控
所有与安全相关的事件都会记录下来以进行监视和故障排除:
记录的事件
- 登录尝试失败。
- 密钥生成请求。
- 未经授权的访问尝试。
- 加密和解密错误。
总结
实施的安全功能可确保:
- 通过加密和安全传输来保护敏感数据的机密性。
- 使用强大的密钥管理和令牌验证来保证操作的完整性。
- 用于系统功能的基于角色的和可配置的访问控制。
- 用于主动检测和响应安全威胁的全面监视。
这些措施共同为客户端-服务器通信和数据处理提供了一个安全的环境。
PGPT 服务器的功能概述
PGPT 服务器提供了一组强大的功能,旨在提供与模型上下文协议 (MCP) 的高效、灵活和安全的通信。以下是服务器中可用的关键功能和特性的概述。
主要功能
1. 身份验证和授权
- 登录功能:使用电子邮件和密码验证用户身份以生成访问令牌。
- 注销功能:安全地使用户令牌失效以结束会话。
2. 聊天管理
- 开始聊天:启动与服务器的对话,可以选择使用公共知识库或特定的群组上下文。
- 继续聊天:通过提供聊天 ID 和后续消息来恢复正在进行的对话。
- 检索聊天信息:通过其 ID 获取特定聊天的元数据和消息。
- 删除所有聊天:删除执行用户之前的聊天记录(聊天历史记录)。
- 删除聊天:删除执行用户的当前聊天。
3. 群组管理
- 列出群组:查看用户可用的个人和可分配群组。
- 创建群组:添加具有名称和描述的新群组以用于组织目的。
- 删除群组:删除现有群组(如果在配置中启用)。
4. 来源管理
- 创建来源:添加具有内容的新来源,并将其分配给特定的群组。
- 编辑来源:使用新内容或元数据更新现有来源。
- 删除来源:删除不再需要的来源。
- 检索来源:通过其 ID 获取有关特定来源的信息。
- 列出来源:查看分配给特定群组的所有来源。
5. 用户管理
- 创建用户:注册具有可自定义角色、群组和设置的新用户。
- 编辑用户:更新用户信息,包括姓名、电子邮件、密码和角色。
- 删除用户:从系统中删除用户(如果在配置中启用)。
- 重新激活用户:重新激活先前停用的用户。
6. 配置灵活性
- 功能激活/停用:通过
.env
配置文件启用或禁用单个服务器功能。 - 语言支持:将服务器的系统消息自定义为您喜欢的语言(例如,英语或德语)。
- SSL 验证:切换 SSL 验证以实现与服务器的安全连接。
7. 错误处理和日志记录
- 详细的错误消息和日志记录,用于:
- 无效请求
- 身份验证失败
- API 通信问题
- 访问已禁用功能时的可配置响应。
8. 安全特性
- 基于令牌的身份验证:确保对服务器功能的安全和受控访问。
- 受限群组访问:可以选择限制对
assignableGroups
的访问以增强隐私。
示例用例
- 客户支持:使用聊天功能构建智能对话代理。
- 知识管理:使用来源和群组管理和检索结构化数据。
- 多用户协作:创建、编辑用户并将用户分配给群组以进行协作工作流程。
- 可自定义的功能:仅激活应用程序所需的功能。
如何使用
- 将
pgpt.env.json.example
文件复制到pgpt.env.json
,例如使用cp .\pgpt.env.json.example .\pgpt.env.json
- 通过编辑
pgpt.env.json
文件来配置服务器。 - 使用提供的脚本启动服务器。
- 通过 API 调用与服务器交互以利用其功能。
有关每个端点的详细使用说明和示例,请参阅 API 文档。
PGPT 服务器是一个强大的工具,用于在可自定义的环境中管理结构化通信和数据。根据您的需求定制其功能,以实现最大的效率和控制。
安装
- 克隆存储库:
git clone https://github.com/pgpt-dev/MCP-Server-for-MAS-Developments.git
cd MCP-Server-for-MAS-Developments
现在您必须选择:手动或自动。
手动逐步安装
- 安装
npm
,例如:
sudo apt install npm
- 安装依赖
npm install
- 构建项目:
npm run build
或自动安装
- 使
InstallMPCServer.sh
可执行(Linux):
sudo chmod +x InstallMPCServer.sh
- 运行脚本,您就完成了。注意错误消息,并确保一切正常。
./InstallMPCServer.sh
配置说明
代理配置
本节提供系统中使用的 Proxy_Config
设置的详细说明。
使用代理
如果使用代理,则必须在代理处定义一个用于身份验证的头部。
键 | 说明 | 示例值 |
---|---|---|
USE_PROXY | 确定应用程序是否应通过代理服务器路由请求。 | true |
HAProxy 后端的示例配置。只有在头部包含 1234567890ABCDEFHIJ
的请求才会被接受:
backend mcpserver.mydomain.com
acl valid_header req.hdr(X-Custom-Header) -m str "1234567890ABCDEFHIJ"
http-request deny unless valid_header
http-request del-header X-Custom-Header
server stable 172.16.123.4:443 ssl verify none
头部加密
键 | 说明 | 示例值 |
---|---|---|
HEADER_ENCRYPTED | 指示自定义代理访问头部是否已加密。 | true |
"true"
:访问头部已加密。使用服务器上安全文件夹中的加密工具来加密头部。"false"
:访问头部是纯文本。
访问头部
用于代理身份验证或访问控制的自定义头部值。如果 HEADER_ENCRYPTED
为 "true"
,则必须在使用前解密此值。
键 | 说明 | 示例值 |
---|---|---|
ACCESS_HEADER | 用于代理身份验证或访问控制。 | 123abc.. |
注意事项
- 如果
HEADER_ENCRYPTED
设置为"true"
,请确保ACCESS_HEADER
得到适当的保护。 - 仔细检查代理服务器设置以避免连接问题。
服务器配置
为了实现安全的证书身份验证,请使用您的 PrivateGPT 凭据创建一个 .env
文件,例如 pgpt.env.json
可以在 .env
文件中调整设置以自定义服务器及其功能。
生成证书(如果您没有 ssh 证书,请使用 ssh-keygen -t rsa
),需要 .pem 文件:
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PEM > ~/.ssh/id_rsa_public.pem
在此过程之后,您可以使用加密密码加密工具从密码创建密文,并使用加密密码解密工具测试密码。 您将在本文档的“安全性”部分中找到有关其工作原理的说明。
接下来,您应该提供 SSL/TLS 证书 server.crt
和 server.key
,以确保与客户端和代理的通信已加密。
如果要使用自签名证书,可以通过执行例如以下命令来生成它们:
openssl req -x509 -newkey rsa:2048 -nodes -keyout server.key -out server.crt -days 365 -subj "/CN=localhost"
注意:客户端和代理可以检测到服务器使用自签名证书,因为与检查组织等的官方证书相比,这些证书可能不安全。但是,客户端和代理可以使用适当的参数接受与这些证书的通信(请参阅各个客户端和代理参数的说明)。
以下是 PGPT 服务器的 .env
配置文件示例,包括每个设置的说明。
自定义这些值以适合您的环境和要求。
服务器端口
键 | 说明 | 示例值 |
---|---|---|
PORT | MCP 服务器运行的端口。 | 5000 |
语言
系统开箱即用地支持:de
、en
、pt
、es
、nl
、fr
。
可以通过修改 pgpt-messages.js
轻松添加每种语言。修改后,应将此文件存储在 /src
以及 /dist
中。
键 | 说明 | 示例值 |
---|---|---|
LANGUAGE | 服务器系统消息的语言(en 或 de )。 |
"de" |
SSL 验证
键 | 说明 | 示例值 |
---|---|---|
SSL_VALIDATE | 仅当客户端无法验证服务器的证书时才使用 "false" 。 |
"false" |
加密
键 | 说明 | 示例值 |
---|---|---|
PW_ENCRYPTION | 如果设置为 "true" ,则服务器仅接受密文中的密码。 |
"false" |
PUBLIC_KEY | 指定用于 RSA 的服务器公共 PEM 文件的文件系统路径。 | "~/.ssh/id_rsa_public.pem" |
PRIVATE_KEY | 指定用于 RSA 的服务器私钥文件的文件系统路径。 | "~/.ssh/id_rsa_public.pem" |
SSL/TLS
键 | 说明 | 示例值 |
---|---|---|
ENABLE_TLS | 如果设置为 "true" ,则服务器仅提供与客户端和代理的 TLS 加密通信。 |
"true" |
SSL_KEY_PATH | 指定用于 SSL/TLS 的服务器 SSL/TLS 密钥文件的文件系统路径。 | "~/.ssh/certs/server.key" |
SSL_CERT_PATH | 指定用于 SSL/TLS 的服务器证书的文件系统路径。 | "~/.ssh/certs/server.crt" |
限制
键 | 说明 | 示例值 |
---|---|---|
RESTRICTED_GROUPS | 设置为 true 可防止客户端访问 assignableGroups 。 |
true |
ENABLE_OPEN_AI_COMP_API | 设置为 true 允许 OpenAI API 的兼容模式。 |
false |
日志记录
键 | 说明 | 示例值 |
---|---|---|
WRITTEN_LOGFILE | 启用日志文件。如果设置为 false ,则不会写入日志文件 logs/server.log 。如果此选项设置为“true”,则可以通过服务器的 http://<ip>:3000' 检索日志。 |
true |
LOG_IPs | 记录客户端/代理的 IP。如果设置为 false ,则此信息将替换为 ***** 且无法恢复。 |
false |
ANONYMOUS_MODE | 停用与日志记录相关的所有内容。不会写入/保存或显示任何通信、错误或类似内容。 | false |
功能激活/停用
控制单个服务器功能的可用性。将相应的值设置为 true
以启用该功能,或设置为 false
以禁用该功能。禁用的功能将返回一条消息,指示它们不可用。
键 | 说明 | 示例值 |
---|---|---|
ENABLE_LOGIN | 启用或禁用登录功能。 | true |
ENABLE_LOGOUT | 启用或禁用注销功能。 | true |
ENABLE_CHAT | 启用或禁用聊天功能。 | true |
ENABLE_CONTINUE_CHAT | 启用或禁用继续聊天。 | true |
ENABLE_GET_CHAT_INFO | 启用或禁用检索聊天信息。 | true |
ENABLE_DELETE_ALL_CHATS | 启用或禁用检索聊天信息。 | true |
ENABLE_DELETE_CHAT | 启用或禁用检索聊天信息。 | true |
ENABLE_LIST_GROUPS | 启用或禁用列出群组。 | true |
ENABLE_STORE_GROUP | 启用或禁用创建群组。 | true |
ENABLE_DELETE_GROUP | 启用或禁用删除群组。 | false |
ENABLE_CREATE_SOURCE | 启用或禁用创建来源。 | true |
ENABLE_EDIT_SOURCE | 启用或禁用编辑来源。 | true |
ENABLE_DELETE_SOURCE | 启用或禁用删除来源。 | true |
ENABLE_GET_SOURCE | 启用或禁用检索来源。 | true |
ENABLE_LIST_SOURCES | 启用或禁用列出来源。 | true |
ENABLE_STORE_USER | 启用或禁用创建用户。 | true |
ENABLE_EDIT_USER | 启用或禁用编辑用户。 | false |
ENABLE_DELETE_USER | 启用或禁用删除用户。 | false |
ENABLE_REACTIVATE_USER | 启用或禁用重新激活用户。 | false |
用法
- 启用功能:将
.env
文件中的相应值设置为true
。 - 禁用功能:将
.env
文件中的相应值设置为false
。- 服务器将响应一条消息,指示该功能已禁用。
.env
条目的示例:
{
"PGPT_Url": {
"PRIVATE_GPT_API_URL": "https://<YOUR_PGPT_URL>/api/v1",
"API_URL": "https://<YOUR_PGPT_URL>/api/v1"
},
"Proxy_Config": {
"USE_PROXY": "true",
"HEADER_ENCRYPTED": "true",
"ACCESS_HEADER": "Example: BptfJBeRGLbZas+..."
},
"Server_Config": {
"PORT": 5000,
"LANGUAGE": "en",
"SSL_VALIDATE": "false",
"PW_ENCRYPTION": "true",
"ALLOW_KEYGEN": "false",
"PUBLIC_KEY": "~/.ssh/id_rsa_public.pem",
"PRIVATE_KEY": "~/.ssh/id_rsa",
"ENABLE_TLS": "true",
"SSL_KEY_PATH": "~/.ssh/certs/server.key",
"SSL_CERT_PATH": "~/.ssh/certs/server.crt"
},
"Restrictions": {
"RESTRICTED_GROUPS": false,
"ENABLE_OPEN_AI_COMP_API": true
},
"Logging": {
"WRITTEN_LOGFILE": true,
"LOG_IPs": true,
"ANONYMOUS_MODE": false
},
"Functions": {
"ENABLE_LOGIN": true,
"ENABLE_LOGOUT": true,
"ENABLE_CHAT": true,
"ENABLE_CONTINUE_CHAT": true,
"ENABLE_GET_CHAT_INFO": true,
"ENABLE_DELETE_ALL_CHATS": true,
"ENABLE_DELETE_CHAT": true,
"ENABLE_LIST_GROUPS": true,
"ENABLE_STORE_GROUP": true,
"ENABLE_DELETE_GROUP": true,
"ENABLE_CREATE_SOURCE": true,
"ENABLE_EDIT_SOURCE": true,
"ENABLE_DELETE_SOURCE": true,
"ENABLE_GET_SOURCE": true,
"ENABLE_LIST_SOURCES": true,
"ENABLE_STORE_USER": true,
"ENABLE_EDIT_USER": false,
"ENABLE_DELETE_USER": false,
"ENABLE_REACTIVATE_USER": true
}
}
用法
启动服务器:
node dist/index.js
服务器将启动并侦听 stdio 以获取 MCP 命令。
错误处理
服务器处理各种错误情况:
- 身份验证失败
- 网络错误
- 无效请求
- API 错误
- 速率限制
- 超时错误
错误映射到适当的 MCP 错误代码,并包含用于调试的详细消息。
可用工具
生成加密密码
为客户端和/或服务器的 Proxy_Config->Password 条目生成密码:
node security/generate_encrypted_password.js ~/.ssh/id_rsa_public.pem
检查生成的加密密码
要检查加密,请使用:
node security/generate_decrypted_password.js ~/.ssh/id_rsa
有关更多信息,请参阅下面的“加密密码生成工具”和“加密密码解密工具”部分
加密密码生成工具
概述
加密密码生成工具是一个 Node.
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。