使用说明
项目简介
本项目是一个基于Bun运行时环境构建的MCP(Model Context Protocol)服务器,它利用AWS S3云存储服务来托管和管理代码片段。该服务器允许LLM客户端通过MCP协议,便捷地创建、检索和列出存储在S3桶中的代码片段,从而为LLM应用提供代码管理和上下文访问能力。
主要功能点
- 代码片段管理: 支持创建、获取和列出代码片段文件。
- AWS S3存储: 使用AWS S3云服务持久化存储代码片段,确保数据安全和可靠性。
- Bun运行时: 采用Bun运行时环境,提供高性能和快速的服务器运行体验。
- MCP协议兼容: 遵循Model Context Protocol标准,方便与各种MCP客户端集成,如Claude Desktop。
安装步骤
- 环境准备:
- 确保已安装 Bun JavaScript 运行时环境。
- 确保已配置 AWS 账户和访问 S3 服务的权限。您需要一个S3存储桶和相应的访问密钥。
- 克隆仓库:
git clone https://github.com/mattbarlow-sg/bun-s3-mcp.git cd bun-s3-mcp - 安装依赖:
bun install - 配置环境变量:
- 您需要设置以下环境变量:'BUCKET_NAME' 和 'SNIPPETS_DIR'。
- 'BUCKET_NAME': 您的AWS S3存储桶名称,用于存放代码片段文件。
- 'SNIPPETS_DIR': 代码片段存储目录(根据代码,此变量可能未使用,可以设置为任意本地目录,例如 './snippets')。
- 建议将环境变量配置在 '.env' 文件中或直接在运行服务器的终端中设置。例如:
重要: 请确保您的AWS凭证已正确配置,以便Bun能够访问您的S3存储桶。通常通过设置 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION' 等环境变量或使用IAM角色完成。export BUCKET_NAME="your-s3-bucket-name" export SNIPPETS_DIR="./snippets" # 或者其他任意目录
- 您需要设置以下环境变量:'BUCKET_NAME' 和 'SNIPPETS_DIR'。
服务器配置
以下JSON配置信息用于MCP客户端连接到此MCP服务器。
{ "serverName": "snippets", // 自定义服务器名称,例如 "snippets" "command": "bun", // 运行服务器的命令,这里使用 bun 运行时 "args": ["run", "index.ts"], // 命令参数,指示 Bun 运行 index.ts 文件 "transport": "stdio" // 使用 stdio (标准输入输出) 作为传输协议 }
基本使用方法
- 启动MCP服务器:
打开终端,进入项目根目录,执行命令:
如果看到终端输出 'S3 MCP server running on stdio',则表示服务器已成功启动。bun run index.ts - 配置MCP客户端: 在您的MCP客户端(例如 Claude Desktop)中,根据上述“服务器配置”部分提供的信息进行配置,建立与MCP服务器的连接。
- 通过MCP客户端与服务器交互:
您可以使用MCP客户端提供的界面或命令,调用服务器提供的工具(Tools)来管理代码片段,例如:
- 'get_snippets': 获取所有代码片段的文件名列表。
- 'get_snippet': 获取指定代码片段文件的内容。
- 'create_snippet': 创建新的代码片段并保存到S3存储桶。 具体操作方法请参考您的MCP客户端的使用文档。
信息
分类
数据库与文件