使用说明
MCP服务器(模型上下文协议)
这是一个全栈monorepo应用程序,具有提供文件存储和搜索功能的模型上下文协议(MCP)服务器。该项目使用以下方式进行管理 涡轮仓库 它由Express后端、React/Vite前端和基于Prisma的数据库层组成。
🚀 特性
- 文件搜索MCP服务器:公开MCP工具以存储、加载和搜索内存和磁盘上的文件。
store_file:将文件及其内容直接存储在内存中。load_file:将文件从服务器的本地目录加载到内存中。search_keyword:在存储的文件中搜索特定关键字。list_directory_files:列出服务器目录中可用的所有文件。list_loaded_files:列出当前加载到内存中的文件。
- REST和MCP传输:服务器公开Express API并使用
StreamableHTTPServerTransport通过HTTP处理MCP请求。 - 现代前端:一个响应迅速的React应用程序,使用Vite、TailwindCSS v4、React Query和React Router构建。
- 数据库集成:使用Prisma和PostgreSQL在monorepo中共享完全类型的数据库访问。
- Turborepo Monorepo:具有共享配置和包的高效构建系统。
🏗️ 项目结构
此Turborepo包括以下软件包和应用程序:
应用
apps/server:承载MCP服务器的核心Node.js/Express应用程序。apps/web:前端React应用程序。
包裹
packages/db:Prisma数据库模式和生成的客户端(@repo/db).packages/ui:共享React组件。packages/eslint-config:共享eslint配置。packages/typescript-config:共享tsconfig.json整个monorepo中使用的映射。
💻 技术栈
- 前端:React 19、Vite、TailwindCSS(v4)、React查询、React路由器、Lucide React。
- 后端:Node.js、Express、,
@modelcontextprotocol/sdk穆特。 - 数据库:PostgreSQL、Prisma。
- 工具:TypeScript、Turborepo、pnpm(v9+)、ESLint、Prettier。
🛠️ 入门指南
先决条件
- Node.js(>=18)
pnpm(v9.0.0+)- PostgreSQL数据库
安装
-
克隆存储库并导航到项目目录:
cd mcp-server -
使用首选的包管理器安装依赖项(建议使用pnpm):
pnpm install -
设置环境变量:
- 创建一个
.env根目录或相应应用程序目录中的文件(apps/server,packages/db). - 添加您的
DATABASE_URL对于Prisma和其他所需的环境变量(例如。,PORT,FRONTEND_URL).
- 创建一个
运行应用程序
要同时开发所有应用程序和软件包,请从存储库的根运行以下命令:
pnpm run dev
这将使用Turborepo启动开发服务器:
- Express MCP服务器将启动(默认端口:3000,通过映射
.env). - Vite前端将从其开发端口开始。
生产大楼
要构建所有应用程序和包,请执行以下操作:
pnpm run build
构建工件将在各自的环境中生成 dist 目录。
🤝 开发中
此项目使用 prettier 和 eslint 用于代码格式化和linting。在推送之前,一定要格式化你的代码!
pnpm run format
pnpm run lint
