SQLite
mcpresso MCP服务器
快速开始
- 安装依赖项
npm install- 设置环境变量
cp .env.example .env
# Edit .env with your configuration- 初始化数据库
npm run db:init这将创建具有所有必要表和索引的SQLite数据库。
- 启动开发服务器
npm run dev- 为生产而建
npm run build
npm start数据库设置
此模板使用SQLite进行身份验证数据存储(用户、会话、令牌等)。数据库文件在init时自动创建,init脚本创建完整的模式。
初始化架构:
npm run db:init数据库结构
初始化脚本创建以下表:
- oauth_users -用户帐户(用户名/电子邮件、hashed_password、作用域、个人资料)
- oauth_客户端 -OAuth客户端注册表(重定向URI、作用域、授权类型)
- oauth_授权_代码 -授权码(带PKCE字段)
- oauth_access_tokes -过期访问令牌
- oauth_refresh_tokes -刷新过期令牌
- 笔记 -示例资源(用户编写的笔记)
数据库功能
- ✅ 基于SQLite文件的存储 -不需要外部数据库
- ✅ 外键约束 -维护数据完整性
- ✅ 优化指标 -快速查找常见查询
- ✅ 自动时间戳 -创建/更新跟踪
- ✅ OAuth集成 -会话和令牌管理
数据库位置
- 默认路径:
data/app.db - 要自定义,请设置
DATABASE_PATH在……里面.env在运行init之前。
特性
- 使用SQLite进行OAuth2.1身份验证
- 用户管理和会话
- 带有作者关系的笔记资源
- TypeScript支持
- 开发和生产建设
- 环境变量配置
项目结构
src/
├── server.ts # Main server file
├── auth/ # OAuth configuration
│ └── oauth.ts
├── resources/ # MCP resources
│ ├── schemas/ # Resource schemas
│ │ └── Note.ts # Note data model
│ └── handlers/ # Resource handlers
│ └── note.ts # Notes with author relationships
└── storage/ # Database layer
└── sqlite-storage.ts环境变量
| 变量 | 描述 | 必填 | 默认 |
|---|---|---|---|
| 端口 | 服务器端口 | 编号 | 3000 |
| SERVER_URL | 服务器的基本URL | 是 | - |
| JWT_SECRET | JWT令牌的密钥 | 是 | - |
| DATABASE_PATH | SQLite数据库文件路径 | 否 | data/app.db |
JWT秘密
为令牌签名生成安全的JWT密钥。
选项A——脚本(使用 openssl 引擎盖下):
npm run secret:generate选项B——手动(使用openssl):
JWT_SECRET=$(openssl rand -hex 64)
echo "JWT_SECRET=$JWT_SECRET" >> .env # or replace existing JWT_SECRET in .env对这个值保密。旋转它将使现有令牌无效。
发展
npm run dev-使用热重新加载启动开发服务器npm run build-为生产而建npm run typecheck-无建筑类型检查npm run db:init-初始化SQLite数据库和完整模式npm run secret:generate-生成安全的JWT密钥
用户管理
使用安全密码哈希创建和管理用户:
npm run user:create-使用默认凭据创建用户- `npm run user:create
` -使用自定义凭据创建用户
npm run user:test-password-测试密码验证功能npm run user:test-auth-测试OAuth身份验证流程
有关详细的用户管理文档,请参阅 用户_管理.md.
许可证
麻省理工学院
