电影设备租赁MCP服务器
模型上下文协议(MCP)服务器,为人工智能助手提供与电影设备租赁WordPress插件API交互的工具。
概述
此MCP服务器通过film equipment rental WordPress插件的REST API公开了用于管理电影设备库存、客户、租赁会话和统计的综合工具。
特性
设备管理
list_equipment-列出所有具有可选过滤功能的设备get_equipment-获取详细的设备信息,包括租赁历史create_equipment-将新设备添加到库存中update_equipment-更新设备详细信息delete_equipment-从库存中删除设备
客户管理
list_clients-列出所有有租金统计数据的客户get_client-通过租赁历史获取详细的客户信息create_client-添加新客户端update_client-更新客户信息delete_client-删除客户端
租赁管理
list_rentals-列出带页码的租赁会话get_rental-获取详细的租赁信息create_rental-创建新的租赁会话update_rental-更新租赁会话delete_rental-删除租赁会话
统计
get_statistics-获取全面的租金统计数据、投资回报率和趋势
先决条件
- Node.js 18+或兼容的运行时环境
- 已安装并激活电影设备租赁WordPress插件
- 在插件设置中生成的API密钥
安装
1.安装依赖项
cd mcp-server
npm install2.构建服务器
npm run build3.配置环境变量
复制 .env.example 到 .env:
cp .env.example .env编辑 .env 您的WordPress网站详细信息:
FER_API_BASE_URL=https://yoursite.com/wp-json/film-equipment-rental/v1
FER_API_KEY=your_api_key_here获取API密钥:
- 登录WordPress管理员
- 首选 设置→ 设备租赁设置
- 导航到 REST API访问 标签
- 复制显示的API密钥
用法
独立运行
用于测试或开发:
npm start与Claude Desktop一起使用
将此服务器添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"film-equipment-rental": {
"command": "node",
"args": [
"/absolute/path/to/Film-Equipment-Rental/mcp-server/dist/index.js"
],
"env": {
"FER_API_BASE_URL": "https://yoursite.com/wp-json/film-equipment-rental/v1",
"FER_API_KEY": "your_api_key_here"
}
}
}
}重要提示: 替换 /absolute/path/to/ 安装的实际绝对路径。
添加配置后:
- 重新启动克劳德桌面
- 电影设备租赁工具将在对话中提供
与其他MCP客户端一起使用
任何兼容MCP的客户端都可以通过stdio传输使用此服务器。根据客户的文档进行配置,使用:
- 命令:
node - Args:
["path/to/mcp-server/dist/index.js"] - 环境变量:
FER_API_BASE_URL和FER_API_KEY
工具参考
设备工具
list_equipment
列出所有具有可选过滤功能的设备项目。
参数:
category(可选):按类别过滤(例如,“相机”、“镜头”)status(可选):按状态筛选
例子:
{
"category": "cameras",
"status": "active"
}get_equipment
获取特定设备项目的详细信息。
参数:
id(必填):设备ID
例子:
{
"id": 1
}create_equipment
创建新设备项。
参数:
name(必填):设备名称brand:设备品牌serial_number:序列号description:完整描述short_description:简短描述category:类别蛞蝓daily_rate:日租金purchase_price:购买价格purchase_date:购买日期(YYYY-MM-DD)current_value:当前估计值status:状态(默认:“活动”)images:图像URL数组
例子:
{
"name": "ARRI Alexa Mini",
"brand": "ARRI",
"category": "cameras",
"daily_rate": 500,
"purchase_price": 40000,
"purchase_date": "2024-01-15",
"current_value": 35000
}update_equipment
更新现有设备项(仅更新提供的字段)。
参数:
id(必填):设备ID- 所有其他参数都是可选的(与create_equipment相同)
例子:
{
"id": 1,
"daily_rate": 550,
"current_value": 34000
}delete_equipment
删除设备项目及其关联图像。
参数:
id(必填):设备ID
例子:
{
"id": 1
}客户端工具
list_clients
列出所有客户及其租金统计数据。
参数: 无
get_client
获取特定客户的详细信息,包括租赁历史。
参数:
id(必填):客户端ID
例子:
{
"id": 1
}create_client
创建新客户端。
参数:
name(必填):客户名称
例子:
{
"name": "Production Company XYZ"
}update_client
更新现有客户端。
参数:
id(必填):客户端IDname(必填):客户名称
例子:
{
"id": 1,
"name": "Updated Production Company Name"
}delete_client
删除客户端。
参数:
id(必填):客户端ID
例子:
{
"id": 1
}租赁工具
list_rentals
列出所有带页码的租赁会话。
参数:
limit(可选):要返回的租金数量(默认值:50)offset(可选):分页偏移量(默认值:0)
例子:
{
"limit": 10,
"offset": 0
}get_rental
获取特定租赁时段的详细信息。
参数:
id(必填):租赁会话ID
例子:
{
"id": 10
}create_rental
使用设备创建新的租赁会话。
参数:
rental_date(必填):租赁日期(YYYY-MM-DD)rental_days(必填):租赁天数(最少1天)equipment(必填):一系列有收益的设备项目client_id(可选):客户端IDnotes(可选):项目名称或注释
例子:
{
"client_id": 1,
"rental_date": "2024-03-20",
"rental_days": 3,
"notes": "Downtown film shoot",
"equipment": [
{
"equipment_id": 1,
"earnings": 1500
},
{
"equipment_id": 2,
"earnings": 300
}
]
}update_rental
更新现有的租赁会话。
参数:
id(必填):租赁会话ID- 所有其他参数都是可选的(与create_rental相同)
例子:
{
"id": 10,
"rental_days": 4,
"notes": "Extended shoot"
}delete_rental
删除租赁会话及其相关设备收益。
参数:
id(必填):租赁会话ID
例子:
{
"id": 10
}统计工具
get_statistics
获取全面的租金统计数据,包括收入、投资回报率、顶级客户和月度趋势。
参数:
year(可选):年份(如2024年)或“全部”用于历史统计
例子:
{
"year": 2024
}或
{
"year": "all"
}发展
项目结构
mcp-server/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── api-client.ts # WordPress REST API client
├── dist/ # Compiled JavaScript (generated)
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── .env.example # Environment variables template
└── README.md # This file发展模式
在监视模式下运行TypeScript编译器:
npm run dev建筑
将TypeScript编译为JavaScript:
npm run build故障排除
API连接问题
错误:“无效的API密钥”
- 在中验证您的API密钥是否正确
.env - 检查API密钥是否尚未在WordPress中重新生成
- 确保您使用的是标头身份验证方法
错误:“未配置API访问”
- 在WordPress插件设置中生成API密钥
- 转到:设置→ 设备租赁设置→ REST API访问
服务器未显示在Claude桌面中
- 验证中的路径
claude_desktop_config.json是绝对的 - 确保服务器已构建(
npm run build) - 检查一下
dist/index.js存在 - 完全重新启动克劳德桌面
- 检查Claude Desktop日志是否有错误
权限错误
如果在运行服务器时出现权限错误:
chmod +x dist/index.js安全说明
- 对API密钥保密
- 在生产环境中使用HTTPS
- API密钥提供对设备数据的完全访问
- 如果API密钥被泄露,则重新生成该密钥(在WordPress设置中)
- 考虑使用特定于环境的API密钥进行开发/生产
API 文档
有关API的完整文档,请参阅 API毫米 在父目录中。
支持
对于问题或疑问:
- 检查 WordPress插件文档
- 查看 API 文档
- 在
许可证
麻省理工学院
版本
1.0.0
