MCP Pastebin 服务器
一个用于与Pastebin API交互的模型上下文协议(MCP)服务器,允许AI助手以编程方式创建、读取和列出粘贴内容。
特点/功能
- 🔹(这个符号在中文中没有直接对应的翻译,它通常用作一个装饰性或强调性的符号,可以简单理解为“重点”或“注意”的意思,但具体含义需根据上下文确定。) 创建粘贴内容创建公开、未列出或私有的粘贴内容,可自定义标题、内容和格式
- 🔹(这个符号本身在中文中没有特定的含义,通常用于装饰或作为项目符号,可直接保留或根据上下文解释为“项目符号”等) 阅读粘贴内容通过密钥获取现有粘贴内容
- 🔹(此符号在中文中无特定含义,通常用作装饰或分隔,可直接保留或根据上下文替换为相应文字,如“注意”、“重点”等,但在此处无具体对应文字) 列出粘贴板(或剪贴板内容)获取用户粘贴历史列表,并支持分页
- 🔹 多种可见性选项支持公共、未列出和私有粘贴内容
- 🔹(这个符号在中文中通常没有直接对应的翻译,它可能代表一个蓝色的菱形或某种特定的标识,具体含义需根据上下文确定。在没有具体上下文的情况下,可以简单描述为“一个蓝色菱形符号”或保持原样使用。) 格式支持为不同的编程语言指定语法高亮
- 🔹 错误处理全面的错误处理和超时管理
安装
- 克隆仓库:
git clone
cd mcp-pastebin-server- 安装依赖项:
npm install- 设置环境变量:
cp .env.example .env编辑 .env 文件并添加您的Pastebin API凭据:
PASTEBIN_API_KEY=your_api_key_here
PASTEBIN_USER_KEY=your_user_key_here # Required for private/unlisted pastes and listing user pastes配置
Pastebin API设置
- 从以下位置获取您的API密钥: 代码片段库API设置
- 对于私有/未列出的粘贴内容以及列出用户粘贴内容,您需要一个用户密钥:
- 使用 api_login.php 使用您的用户名和密码登录终端点 - 将返回的用户密钥存储在您的 .env 文件
MCP客户端配置
将此服务器添加到您的MCP客户端配置中(例如,Claude Desktop):
{
"mcpServers": {
"pastebin": {
"command": "node",
"args": ["src/index.js"]
}
}
}使用方法
可用工具
1. create_paste
在Pastebin上创建一个新粘贴。
参数:
title(字符串,可选):粘贴内容的标题content(字符串,必填):粘贴的内容format(字符串,可选):格式/语言(例如,javascript、python、text)。默认值:"text"visibility(字符串,可选):可见性级别。选项:“公开”、“未列出”、“私有”。默认值:“公开”
示例:
{
"title": "My Code Snippet",
"content": "console.log('Hello, World!');",
"format": "javascript",
"visibility": "public"
}回应:
{
"success": true,
"url": "https://pastebin.com/abcdef123",
"message": "Paste created successfully"
}2. read_paste
通过其键从Pastebin读取粘贴内容。
参数:
pasteKey(字符串,必填):要读取的粘贴内容的键
示例:
{
"pasteKey": "abcdef123"
}回答:
{
"success": true,
"content": "console.log('Hello, World!');",
"pasteKey": "abcdef123",
"url": "https://pastebin.com/abcdef123"
}3. list_user_pastes
列出用户在Pastebin上的粘贴内容。
参数:
limit(数字,可选):要返回的粘贴内容的最大数量(1-100)。默认值:10
示例:
{
"limit": 20
}回答:
{
"success": true,
"pastes": [
{
"key": "abcdef123",
"title": "My Code Snippet",
"date": "2024-01-15 14:30:00",
"size": "45 bytes",
"url": "https://pastebin.com/abcdef123",
"format": "javascript"
}
],
"count": 1,
"message": "Found 1 pastes"
}API终端点
服务器使用以下Pastebin API端点:
https://pastebin.com/api/api_post.php- 用于创建、读取和列出粘贴内容https://pastebin.com/api/api_login.php- 用于用户身份验证(不直接暴露)
错误处理
服务器包含了对以下内容的全面错误处理:
- 缺少API凭证
- 无效的参数
- 网络超时
- Pastebin API速率限制
- 身份验证失败
常见的错误响应:
{
"error": "PASTEBIN_API_KEY environment variable is required"
}{
"error": "Content is required"
}{
"error": "Request timeout - Pastebin API may be rate limiting"
}发展
项目结构
mcp-pastebin-server/
├── src/
│ ├── index.js # Entry point and MCP server setup
│ └── tools/
│ ├── createPaste.js # Create paste functionality
│ ├── readPaste.js # Read paste functionality
│ └── listPastes.js # List user pastes functionality
├── package.json
├── glama.json
├── .env.example
└── README.md运行服务器
npm start测试
该服务器可以使用任何兼容MCP的客户端进行测试。请确保您的 .env 文件已正确配置,具有有效的Pastebin API凭据。
依赖项
@la-rebelion/mcp-serverMCP服务器框架axiosAPI请求的HTTP客户端dotenv环境变量管理zod模式验证
许可证
这个项目采用ISC许可证授权——详见 许可证 文件中有详细信息。
做出贡献
- 为仓库创建分支
- 创建一个特性分支
- 做出你的更改
- 彻底测试
- 提交拉取请求
支持
对于问题和疑问:
- 检查响应中的错误信息
- 验证您的Pastebin API凭据
- 确保您的网络连接稳定
- 检查 Pastebin API 的状态,以确认是否存在任何服务问题
未来改进/增强
- 膏状物的保质期控制
- 增强的语法高亮支持
- 粘贴删除功能
- 按需认证工具
- 更好的速率限制处理
- 频繁访问的粘贴内容缓存
