Token导航 LogoToken导航TokenDH.com
hao MCP logo
开发工具stdio官方级别未说明来源级核验

hao MCP

MCP Server

@modelcontextprotocol/inspector@latest

Arobid MCP是一个标准化的接口服务,通过模型上下文协议连接Arobid后端,为AI工具和编辑器提供结构化API调用功能,适用于账户管理、认证、事件搜索等多种场景。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
API接口开发工具TypeScriptClaude认证服务Claude DesktopClaudeCursor

安装说明

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

作者 / 组织

xuanhao97

提供方

xuanhao97

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector@latest http://localhost:3001/api/server undefined

详细介绍

唤醒MCP

连接到的MCP(模型上下文协议)服务器 Arobid后端,允许AI工具和编辑器以结构化的方式调用后端API。

概述

Arobid MCP提供了一个标准化的接口,用于通过模型上下文协议与Arobid后端服务进行交互。这使得AI助手和开发工具能够与Arobid的后端功能无缝集成。

服务器当前提供 10+综合工具 涵盖帐户管理、身份验证、密码重置工作流、参展商发现和活动搜索。所有工具都包括强大的输入验证、错误处理和详细的日志记录。

特性

账户管理

  • 创建个人帐户 -通过Arobid后端注册新用户帐户
  • 验证用户 -使用发送到电子邮件的OTP代码验证用户帐户

认证

  • 用户登录 -登录以在上一个OTP过期时检索新的OTP
  • 重新发送OTP -验证失败或OTP过期时,将OTP代码重新发送到用户电子邮件

密码重置和更改密码

  • 检查重置密码 -通过向用户电子邮件发送重置链接/OTP来启动密码重置(忘记密码)或更改密码(更新现有密码)过程。支持具有相同工作流的两种场景。
  • 确认重置密码 -检查重置密码后,使用发送到电子邮件的OTP确认密码重置/更改ResetPassword

活动与展览

  • 搜索事件 -在Arobid平台上搜索活跃的展览/活动。自动抓取所有页面以检索完整结果。支持过滤、分页、排序和本地化。
  • 在活动中搜索企业 -在一次活动中检查参展商。
  • 在多个事件中搜索企业 -一次在多个活动中批量搜索参展商。
  • 查找商务活动参与 -通过将事件发现与批量参展商查找相结合,发现特定企业加入了哪些事件。

即将推出

  • 🔄 配置文件管理工具
  • 🔄 其他用户管理功能

技术栈

  • 语言:TypeScript
  • 运行时:Node.js(v18+)
  • 框架:MCP SDK(@modelcontextprotocol/sdk)
  • 包管理器:npm

先决条件

  • Node.js 18.0.0或更高版本
  • npm(或者pnpm,如果你愿意的话)

安装

  1. 克隆或导航到此存储库:
   cd arobid-mcp
  1. 安装依赖项:
   npm install
  1. 设置环境变量(请参见 配置 在......下面

配置

创建一个 .env 项目根目录中的文件,包含以下变量:

# Required: Arobid Backend base URL
AROBID_BACKEND_URL=https://api.arobid.com

# Optional: API key for authentication (if required by backend)
AROBID_API_KEY=your-api-key-here

# Optional: Tenant ID (if multi-tenant support is needed)
AROBID_TENANT_ID=your-tenant-id

环境变量

变量必填描述
AROBID_BACKEND_URLArobid后端API的基本URL
AROBID_API_KEY没有用于身份验证请求的neneneba API密钥(如果需要)
AROBID_TENANT_ID多租户设置的租户标识符

发展

构建

将TypeScript编译为JavaScript:

npm run build

启动MCP服务器(stdio传输):

npm start

发展模式

注意更改并自动重建:

npm run dev

类型检查

在不构建的情况下检查TypeScript类型:

npm run type-check

代码格式化

使用Prettier格式化代码:

# Format all files
npm run format

# Check formatting without making changes
npm run format:check

项目结构

arobid-mcp/
├── src/
│   ├── index.ts                 # MCP server entrypoint (stdio transport)
│   ├── client/
│   │   └── arobidClient.ts      # HTTP client for Arobid Backend
│   ├── utils/
│   │   └── validation.ts        # Shared validation utilities (email regex, etc.)
│   ├── server/
│   │   ├── registerTools.ts     # Tool registration orchestrator
│   │   └── tools/
│   │       ├── registerCreatePersonalAccount.ts
│   │       ├── registerUserLogin.ts
│   │       ├── registerVerifyUser.ts
│   │       ├── registerResendOtp.ts
│   │       ├── registerCheckResetPassword.ts
│   │       ├── registerConfirmResetPassword.ts
│   │       ├── registerSearchEvents.ts
│   │       ├── registerSearchBusinessesInEvent.ts
│   │       └── registerSearchBusinessesInMultipleEvents.ts
│   └── tools/
│       ├── createPersonalAccount.ts  # Create account tool
│       ├── userLogin.ts         # User login tool
│       ├── verifyUser.ts        # Verify user tool
│       ├── resendOtp.ts         # Resend OTP tool
│       ├── checkResetPassword.ts # Check/reset password tool
│       ├── confirmResetPassword.ts # Confirm reset password tool
│       ├── searchEvents.ts      # Search events/exhibitions tool
│       ├── searchBusinessesInEvent.ts
│       └── searchBusinessesInMultipleEvents.ts
├── api/
│   └── server.ts                # Vercel API route handler (HTTP transport)
├── dist/                        # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

可用工具

工作流

帐户创建和验证工作流程

  1. 使用 createPersonalAccount 注册新帐户
  2. 检查电子邮件中的OTP代码
  3. 使用 verifyUser 使用OTP完成账户验证
  4. 如果OTP过期,请使用 resendOtpuserLogin 买一个新的

密码重置和更改密码工作流

用例1:密码重置(忘记密码)

  1. 使用 checkResetPassword 使用用户电子邮件启动密码重置
  2. 检查电子邮件中的OTP代码
  3. 使用 confirmResetPassword 使用电子邮件、新密码和OTP完成重置

用例2:更改密码(更新现有密码)

  1. 使用 checkResetPassword 使用用户电子邮件启动密码更改
  2. 检查电子邮件中的OTP代码
  3. 使用 confirmResetPassword 使用电子邮件、新密码和OTP完成更改

这两种情况都遵循相同的工作流程——该工具自动处理重置和更改密码请求。

OTP恢复工作流程

  • 如果验证过程中OTP过期:使用 resendOtp 获取新的OTP
  • 替代方案:使用 userLogin 登录并接收新的OTP

______________________________________________________________________

createPersonalAccount

在Arobid后端创建新的个人用户帐户。

参数:

  • email (字符串,必填):用户电子邮件地址
  • password (字符串,必填):用户密码(6-20个字符,有复杂度要求)
  • firstName (string,必填):用户名
  • lastName (string,必填):用户名
  • title (string,必填):用户名(Mr或Mrs)
  • phone (字符串,必填):用户电话号码(越南语或国际格式)
  • national (字符串,必填):用户国籍代码(2个字母大写的国家代码)

例子:

{
  "email": "user@example.com",
  "password": "SecurePass123!",
  "firstName": "John",
  "lastName": "Doe",
  "title": "Mr",
  "phone": "+841231231123",
  "national": "VN"
}

userLogin

在Arobid后端执行用户登录。这可用于在前一个OTP过期时检索新的OTP。

参数:

  • email (字符串,必填):用户电子邮件地址
  • password (string,必填):用户密码

例子:

{
  "email": "user@example.com",
  "password": "SecurePass123!"
}

备注:成功登录后,新的OTP将发送到用户的电子邮件中。当您需要在上一个OTP过期后检索新的OTP时,请使用此工具。

resendOtp

在Arobid后端将OTP代码重新发送到用户电子邮件。当验证用户因OTP过期或无效而失败时,请使用此选项。

参数:

  • userEmail (字符串,必填):用户电子邮件地址

例子:

{
  "userEmail": "user@example.com"
}

备注:调用此工具后,新的OTP将发送到用户的电子邮件中。当验证失败或OTP已过期时使用此工具,而不是使用 userLogin.

checkResetPassword

在Arobid后端启动密码重置或更改密码过程。这将向用户的电子邮件发送重置链接或OTP。

使用案例:

  • 密码重置:当用户忘记密码并需要重置密码时
  • 更改密码:当用户出于安全原因想要更改现有密码时

参数:

  • email (字符串,必填):用户电子邮件地址

例子:

{
  "email": "user@example.com"
}

备注:调用此工具后,密码重置链接或OTP将发送到用户的电子邮件中。在以下两种情况下都可以使用此工具:(1)当用户需要重置忘记的密码时,或(2)当用户想要更改现有密码时。该工具自动处理这两种情况。收到OTP后,使用 confirmResetPassword 以完成该过程。

confirmResetPassword

使用发送给用户电子邮件的OTP在Arobid后端确认密码重置。使用此后 checkResetPassword 成功。

参数:

  • email (字符串,必填):用户电子邮件地址
  • password (字符串,必填):新密码(6-20个字符,有复杂性要求)
  • otp (字符串,必填):一次性密码(OTP)代码-恰好6位数字

例子:

{
  "email": "user@example.com",
  "password": "NewSecurePass123!",
  "otp": "123456"
}

备注:使用此工具后 checkResetPassword 成功。OTP代码将在以下情况下发送到用户的电子邮件中 checkResetPassword 被称为。密码必须满足复杂性要求(小写、大写、数字和特殊字符)。

verifyUser

使用发送到用户电子邮件的OTP代码验证Arobid后端中的用户帐户。

参数:

  • userEmail (字符串,必填):用户电子邮件地址
  • otp (字符串,必填):一次性密码(OTP)代码-恰好6位数字

例子:

{
  "userEmail": "user@example.com",
  "otp": "123456"
}

备注:本示例中的OTP仅用于演示。在生产中,使用发送到用户电子邮件的实际OTP代码。如果OTP已过期或验证失败,请使用 resendOtp 获取新的OTP代码,或使用 userLogin 通过登录检索新的。

searchEvents

在Arobid平台上搜索活跃的展览/活动。此工具在返回之前自动抓取所有可用页面以检索完整结果,确保您在单个响应中获得所有匹配的事件。

主要特点:

  • 自动分页:自动加载所有页面,直到找不到更多事件
  • 大默认页面大小:默认情况下每页使用1000个项目,以实现高效的数据检索
  • 完整结果:在单个响应中返回所有匹配的事件,无需手动分页

参数:

  • search (字符串,可选):用于过滤事件的搜索词(例如,“foodex”)
  • pageSize (数字,可选):每页结果数(默认值:1000)
  • pageIndex (数字,可选):起始页索引(默认值:1)
  • sortField (字符串,可选):排序依据的字段(例如“startTime”)
  • asc (boolean,可选):按升序排序(默认值:false)
  • currencyId (数字,可选):定价货币ID(默认值:1)
  • language (字符串,可选):本地化语言代码(默认值:“en”)

例子:

{
  "search": "foodex",
  "pageSize": 1000,
  "pageIndex": 1,
  "sortField": "startTime",
  "asc": false,
  "currencyId": 1,
  "language": "en"
}

最小示例:

{
  "search": "foodex"
}

响应结构:

答复包括:

  • 所有已爬网页面中的所有事件合并到一个数组中
  • 分页元数据 _pagination 字段:

- totalPagesLoaded:已爬网的页面数 - startPageIndex:起始页索引 - endPageIndex:加载的最后一页索引 - totalEvents:检索到的事件总数

备注:此工具将自动抓取所有可用页面,直到找不到更多事件。对于大型结果集,该过程可能需要更长的时间,但可以确保您在单个响应中收到完整的结果。该工具包括1000页的安全限制,以防止无限循环。

searchBusinessesInEvent

按ID搜索单个活动中的参展商/企业。支持分页、排序、本地化和过滤(原产国、国家代码、企业类别等)。当您已经知道活动ID并想要原始参展商名册时,请使用此功能。

最小示例:

{
  "eventId": "123",
  "search": "coffee"
}

searchBusinessesInMultipleEvents

上一个工具的批处理变体。提供一组事件ID和一个可选的搜索词,该工具将同时扫描每个事件(每批20个事件)。答复包括:

  • businesses:所有匹配项的扁平列表
  • resultsByEvent:对象由事件ID键控,因此您可以检查每个事件的匹配情况
  • 执行元数据(处理的事件、处理的批次、摘要文本)

使用此功能可快速检查供应商是否出现在任何策划的事件列表中。

MCP服务器集成

MCP服务器使用stdio传输,可以与任何兼容MCP的客户端集成。配置您的MCP客户端以指向此服务器的入口点。

示例配置(适用于Claude Desktop或类似设备):

{
  "mcpServers": {
    "arobid": {
      "command": "node",
      "args": ["/path/to/arobid-mcp/dist/index.js"],
      "env": {
        "AROBID_BACKEND_URL": https://api.example.com",
        "AROBID_API_KEY": "your-api-key"
      }
    }
  }
}

错误处理

服务器包括全面的错误处理:

  • 输入验证:在进行API调用之前验证所需的字段和数据类型

- 共享验证实用程序,可在所有工具中实现一致的电子邮件验证 - 强制执行密码复杂性要求 - OTP格式验证(6位数字)

  • HTTP错误:将后端HTTP错误转换为用户友好的消息
  • 网络错误:优雅地处理网络故障
  • 日志记录:将重要事件和错误记录到stderr(MCP标准)

- 敏感数据(密码、OTP)会在日志中自动编辑

代码质量

代码库遵循最佳实践:

  • 干燥原理:共享验证实用程序可防止代码重复
  • 类型安全:完全支持TypeScript,具有正确的类型定义
  • 一致的模式:所有工具都遵循相同的结构和错误处理模式
  • 模块化架构:工具、注册和实用程序之间的明确分离

测试和光标集成

局部测试

使用MCP检查器在本地测试MCP服务器(推荐):

为了获得更好的测试体验,请使用MCP检查器:

npm run build && npx @modelcontextprotocol/inspector node dist/index.js

这将打开一个web UI,您可以在其中交互式地测试工具、查看日志和调试问题。

配置光标

要将此MCP服务器与Cursor一起使用,请执行以下操作:

  1. 找到Cursor的MCP配置文件:

- macOS: ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - 视窗: %APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json - Linux: ~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

  1. 获取项目的绝对路径:
   pwd
   # Example output: /path/to/arobid-mcp
  1. 添加配置 (参见 cursor-mcp-config.json.example 对于模板):
   {
     "mcpServers": {
       "arobid": {
         "command": "node",
         "args": ["/absolute/path/to/arobid-mcp/dist/index.js"],
         "env": {
           "AROBID_BACKEND_URL": https://api.example.com",
           "AROBID_API_KEY": "your-api-key-here"
         }
       }
     }
   }
  1. 重新启动游标 加载MCP服务器
  1. 游标测试:询问“有哪些MCP工具可用?”或直接尝试使用这些工具。

有关详细说明和故障排除,请参阅 MCP_估计.md.

部署到Vercel

此MCP服务器可以作为无服务器功能部署到Vercel,允许通过HTTP而不是stdio访问它。

先决条件

  • Vercel帐户
  • 已安装Vercel CLI(可选,用于本地测试)

部署步骤

  1. 安装Vercel命令行界面 (如果尚未安装):
   npm i -g vercel
  1. 在Vercel中设置环境变量:

- 转到Vercel项目设置 - 导航到环境变量 - 添加以下变量: - AROBID_BACKEND_URL (必填) - AROBID_API_KEY (可选) - AROBID_TENANT_ID (可选)

  1. 部署到Vercel:
   vercel

或者将您的GitHub存储库连接到Vercel进行自动部署。

  1. 获取您的MCP服务器URL:

部署后,您将获得一个URL,如下所示 https://your-project.vercel.appMCP端点将在以下位置可用:

   https://your-project.vercel.app/api/mcp

为Vercel部署配置MCP客户端

对于光标

更新您的 .cursor/mcp.json 使用HTTP传输的配置:

{
  "mcpServers": {
    "arobid": {
      "url": "https://your-project.vercel.app/mcp",
      "headers":{
       "X-Arobid-Backend-Url": https://api.example.com"
      }
    }
  }
}

对于其他MCP客户端

在Vercel部署URL中使用Streamable HTTP传输格式:

https://your-project.vercel.app/api/mcp

测试Vercel部署

您可以使用MCP检查器测试部署的MCP服务器:

pnpm dlx @modelcontextprotocol/inspector@latest http://your-project.vercel.app/api/mcp undefined

然后:

  1. 打开 http://127.0.0.1:6274 在浏览器中
  2. 在下拉菜单中选择“Streamable HTTP”
  3. 输入您的Vercel网址: https://your-project.vercel.app/api/mcp
  4. 点击“连接”

Vercel的地方发展

要在本地测试Vercel集成,您可以运行模仿Vercel无服务器环境的Vercel开发服务器。

先决条件

  1. 安装Vercel命令行界面 (如果尚未安装):
   npm i -g vercel
  1. 设置环境变量:

创建一个 .env 项目根目录中的文件(或使用 .env.local):

   AROBID_BACKEND_URL=https://api.arobid.com
   AROBID_API_KEY=your-api-key-here
   AROBID_TENANT_ID=your-tenant-id

备注:环境变量也可以通过请求头传递:

- X-Arobid-Backend-Url - X-Arobid-Api-Key - X-Arobid-Tenant-Id

本地运行

选项1:使用npm脚本 (推荐):

npm run dev:vercel

选项2:直接使用Vercel CLI:

vercel dev --listen 3001

这将:

  • 在以下位置启动本地开发服务器 http://localhost:3001
  • 注意文件更改并自动重新加载
  • Mimic Vercel的无服务器环境
  • 使用以下环境变量 .env.env.local

访问MCP服务器

服务器运行后,MCP端点将在以下位置可用:

http://localhost:3001/api/server

或者简单地说:

http://localhost:3001/

(基于中的重写规则 vercel.json)

测试本地服务器

您可以使用MCP检查器测试本地MCP服务器:

npx @modelcontextprotocol/inspector@latest http://localhost:3001/api/server undefined

或者使用curl进行测试:

curl http://localhost:3001/api/server

故障排除

  • 端口已在使用中:如果端口3001已在使用中,您可以通过修改 --listen 旗在 dev:vercel 脚本在 package.json,否则Vercel将自动使用下一个可用端口
  • 环境变量未加载:确保 .env.env.local 位于项目根目录中
  • 构建错误:运行 npm run build 首先确保TypeScript编译成功

API终点

所有用户管理端点都使用 /b2b 未来可扩展性的前缀:

  • /b2b/api/user/create_user_for_sign_up_async -创建个人帐户
  • /b2b/api/user/user_login -用户登录
  • /b2b/api/user/verify_user -使用OTP验证用户
  • /b2b/api/user/resend_otp_for_user -重新发送OTP
  • /b2b/api/user/check_reset_password -启动密码重置/更改
  • /b2b/api/user/reset_password_for_users -确认密码重置/更改

事件搜索端点:

  • /tradexpo/api/events -搜索展览/活动(否 /b2b 前缀,因为它是一个单独的API)

TODO/已知限制

以下项目需要根据实际的Arobid后端API进行配置:

  • \[x\] 将电子邮件验证正则表达式重构为共享实用程序
  • \[x\] 具有自动分页功能的搜索事件工具
  • \[x\] 所有用户端点均已重构 /b2b 前缀
  • \[\]验证精确的端点路径是否与生产API匹配
  • \[\]验证身份验证标头格式(当前使用 Authorization: Bearer )
  • \[\]验证租户ID标头名称(当前使用 X-Tenant-ID)
  • \[\]根据实际API响应添加响应类型定义
  • \[\]添加其他工具(配置文件更新等)

所有TODO项目都标记为 // TODO 代码中的注释。

贡献

添加新工具时:

  1. 在中创建新文件 src/tools/ (例如。, src/tools/myNewTool.ts)
  2. 在中创建注册文件 src/server/tools/ (例如。, src/server/tools/registerMyNewTool.ts)
  3. 在中注册该工具 src/server/registerTools.ts
  4. 使用来自的共享验证实用程序 src/utils/validation.ts 用于电子邮件验证和其他常见检查
  5. 使用工具文档更新此README

许可证

麻省理工学院

目录标签

目录标签

API接口开发工具TypeScriptClaude认证服务本地部署模型上下文协议账户管理事件搜索

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector@latest

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP