mcp vtenext
VTENext CRM的MCP服务器-将WebService API公开为Claude和其他兼容MCP的客户端的工具。
需求
- Node.js 18+
- 正在运行的VTENext实例(自托管或Docker——请参阅 )
设置
cd mcp/vtenext/server
npm install
cp .env.example .env编辑 .env:
VTENEXT_URL=http://your-vtenext-instance
VTENEXT_USERNAME=admin
VTENEXT_ACCESS_KEY=your_access_key
READ_ONLY=false访问密钥位于VTENext中 管理员→ 用户→ \[用户\]→ 访问密钥.
只读模式
集 READ_ONLY=true 以防止对VTENext进行任何写入操作。启用后,工具 create_opportunita, update_opportunita 和 add_nota_opportunita 返回错误而不是写入数据。
当服务器由只应读取CRM数据的AI机器人或自动化代理使用时,这很有用。要运行只读实例和完全访问实例,请通过MCP配置传递变量:
{
"mcpServers": {
"vtenext-bot": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/mcp/vtenext/server/index.js"],
"env": {
"VTENEXT_URL": "http://your-vtenext-instance",
"VTENEXT_USERNAME": "admin",
"VTENEXT_ACCESS_KEY": "your_access_key",
"READ_ONLY": "true"
}
}
}
}Claude代码集成
添加 .mcp.json 在项目根目录中:
{
"mcpServers": {
"vtenext": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/mcp/vtenext/server/index.js"]
}
}
}工具
机遇(Potentials)
| 工具 | 说明 |
|---|---|
list_opportunita | 使用可选筛选器(状态、搜索、限制)列出机会 |
get_opportunita | 按ID获取商机的完整详细信息 |
search_opportunita | 按名称搜索机会 |
create_opportunita | 创造新机会 *(写入--在只读模式下被阻止)* |
update_opportunita | 更新现有商机的状态、金额或备注 *(写入--在只读模式下被阻止)* |
联系方式(Contacts)
| 工具 | 说明 |
|---|---|
search_contatti | 按姓名、电子邮件或公司搜索联系人 |
活动和笔记
| 工具 | 说明 |
|---|---|
add_nota_opportunita | 向商机添加评论/备注 *(写入--在只读模式下被阻止)* |
list_attivita_opportunita | 列出与商机相关的活动 |
实用工具
| 工具 | 说明 |
|---|---|
describe_modulo | 显示任何VTENext模块的可用字段 |
query_raw | 运行原始VTQL SELECT查询 |
认证
VTENext使用vtiger WebService协议:
GET /webservice.php?operation=getchallenge→ token- MD5(令牌+访问密钥)→ 散列密钥
POST /webservice.php和operation=login(表单编码)→ 会话名称
会话缓存4分钟(令牌生存期为5分钟)。
测试
# Unit tests (no VTENext required)
npm test
# Integration tests (requires live VTENext at VTENEXT_URL)
npm run test:integration许可证
麻省理工学院
