MCP示例服务器
这是一个模型上下文协议(MCP)服务器,提供两大类工具:
- 数据库工具 -用于与SQLite数据库交互
- 计算器工具 -用于执行数学计算
特性
数据库工具
query_database-执行自定义SQL查询get_all_users-检索具有可选限制的所有用户get_user_by_id-通过ID获取特定用户add_user-向数据库添加新用户update_user-更新现有用户delete_user-从数据库中删除用户
计算器工具
calculate-执行基本的数学运算(加、减、乘、除、幂、sqrt、sin、cos、tan、log、abs、round、floor、ceil)calculate_expression-计算数学表达式calculate_stats-计算统计指标(平均值、中位数、方差、标准差等)
安装
- 安装依赖项:
npm install- 数据库将在您首次运行服务器时自动创建。
用法
启动服务器
npm start或者用于自动重启的开发:
npm run dev数据库模式
服务器使用以下模式创建SQLite数据库:
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL,
age INTEGER,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);首次创建数据库时,会自动插入示例数据。
工具示例
数据库操作
- 获取所有用户:
{
"name": "get_all_users",
"arguments": {}
}- 按ID获取用户:
{
"name": "get_user_by_id",
"arguments": {
"id": 1
}
}- 添加新用户:
{
"name": "add_user",
"arguments": {
"name": "John Doe",
"email": "john@example.com",
"age": 30
}
}- 执行自定义查询:
{
"name": "query_database",
"arguments": {
"query": "SELECT * FROM users WHERE age > 25"
}
}计算器操作
- 基本计算:
{
"name": "calculate",
"arguments": {
"operation": "add",
"numbers": [5, 3]
}
}- 计算表达式:
{
"name": "calculate_expression",
"arguments": {
"expression": "2 + 3 * 4"
}
}- 统计分析:
{
"name": "calculate_stats",
"arguments": {
"numbers": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
}
}可用的计算器操作
add-补充subtract-减法multiply-乘法divide-划分(带零校验)power-指数化sqrt-平方根sin-正弦函数cos-余弦函数tan-切线函数log-自然对数abs-绝对值round-四舍五入到最接近的整数floor-地板功能ceil-天花板功能
项目结构
├── package.json
├── README.md
├── src/
│ ├── server.js # Main MCP server
│ ├── database.js # Database operations
│ └── calculator.js # Calculator operations
└── data/
└── example.db # SQLite database (created automatically)错误处理
该服务器包括全面的错误处理功能,用于:
- SQL查询无效
- 数据库连接问题
- 数学运算错误(除零、输入无效)
- 缺少必要参数
- 未知工具名称
发展
要修改或扩展服务器,请执行以下操作:
- 在中添加新工具
setupTools()方法inserver.js - 实现相应的处理程序方法
- 更新中的工具列表
tools/list处理器 - 在中添加任何必要的数据库操作
database.js - 在中添加计算器功能
calculator.js
依赖项
@modelcontextprotocol/sdk-用于Node.js的MCP SDKsqlite3-SQLite数据库驱动程序express-Web框架(用于未来潜在的HTTP传输)
许可证
麻省理工学院
