使用说明
MCP应用程序
一个Ruby on Rails应用程序,它实现了用于用户管理的模型上下文协议(MCP)工具。该应用程序提供了一个RESTful API和MCP工具,用于创建、列出和管理具有全面配置文件信息的用户。
特性
- 用户管理:使用详细的个人资料信息创建和管理用户
- MCP工具:通过模型上下文协议进行用户操作的自定义工具
- RESTful API:标准Rails API端点
- PostgreSQL数据库:具有适当索引的强大数据存储
- Docker支持:容器化部署就绪
- 健康检查端点:内置健康监测
/up
技术栈
- 红宝石: 3.2.2
- 轨道: 7.1.4
- 数据库:PostgreSQL
- Web服务器:彪马
- 主控程序:用于模型上下文协议实现的快速mcp-gem
- 测试:水豚,硒WebDriver
- 发展:Web控制台,调试gem
先决条件
- Ruby 3.2.2
- PostgreSQL
- Docker(可选,用于容器化部署)
安装
地方发展
-
克隆存储库
git clone <repository-url> cd mcp_app -
安装Ruby依赖项
bundle install -
设置数据库
# Create and migrate the database bin/rails db:create bin/rails db:migrate # Seed with sample data (optional) bin/rails db:seed -
启动Rails服务器
bin/rails server
该应用程序将在 http://localhost:3000
Docker部署
-
构建Docker镜像
docker build -t mcp_app . -
运行容器
docker run -p 3000:3000 mcp_app
数据库模式
用户表
该应用程序包括一个全面的用户管理系统,包括以下字段:
email(字符串,必填,唯一)first_name(字符串,必填)last_name(字符串,必填)phone_number(字符串,可选)date_of_birth(日期,可选)address(字符串,可选)city(字符串,可选)state(字符串,可选)country(字符串,可选)postal_code(字符串,可选)role(字符串,默认值:“user”)status(字符串,默认值:“活动”)last_login_at(日期时间,可选)
MCP工具
该应用程序包括几个用于用户管理的MCP工具:
创建用户工具
使用必需和可选参数创建新用户。
参数:
first_name(必填):用户名last_name(必填):用户姓氏email(可选):用户的电子邮件地址
用户列表
检索并显示系统中的所有用户。
退货: 包含姓名和电子邮件信息的JSON用户数组。
API终点
GET /up-健康检查端点- 可以根据需要添加其他RESTful端点
测试
运行测试套件:
bin/rails test
对于系统测试:
bin/rails test:system
发展
添加新的MCP工具
- 在中创建新的工具文件
app/tools/ - 从……继承……
ApplicationTool - 定义工具描述和参数
- 实施
call方法
例子:
class MyCustomTool < ApplicationTool
description 'Description of what this tool does'
arguments do
required(:param1).filled(:string).description("Description of parameter")
optional(:param2).filled(:string).description("Optional parameter")
end
def call(param1:, param2: nil)
# Your tool logic here
end
end