
unsplash-mcp-server

2025.03.17
0
TypeScriptLLM集成外部服务通信其它
unsplash-mcp-server 是一个基于模型上下文协议(MCP)的服务,旨在为大语言模型(LLM)应用程序提供与外部服务的标准化通信协议。它充当LLM应用程序与外部世界之间的中介,提供实时数据、特殊工具、提示管理等功能。该服务支持多种传输机制,包括标准输入/输出(stdio)和HTTP Server-Sent Events(SSE),并提供了丰富的SDK支持,如TypeScript、Python和Kotlin。
View on GitHub
Overview
基本能力
产品定位
unsplash-mcp-server 是一个为LLM应用程序提供标准化通信协议的服务,旨在简化LLM与外部服务的集成和交互。
核心功能
- 实时数据提供:从数据库、API或其他来源获取信息。
- 特殊工具暴露:提供图像处理、代码执行、数据分析等功能。
- 提示管理及共享:存储和提供预定义的提示或提示模板。
- 外部系统连接:与其他应用程序、服务或平台集成。
- 多传输机制支持:支持stdio和HTTP SSE等多种通信方式。
适用场景
- LLM应用程序需要访问外部数据源时。
- 需要为LLM提供特定功能工具时。
- 需要管理和共享预定义提示时。
- 需要将LLM与其他系统或服务集成时。
工具列表
- echo工具:接收输入并返回相同的输出,用于测试和演示。
常见问题解答
- 连接问题:确保使用正确的传输机制和端口。
- 工具调用失败:检查输入参数是否符合定义的schema。
- 性能问题:优化服务器代码和资源使用。
使用教程
使用依赖
- Node.js和npm安装:确保系统已安装Node.js(版本18以上)和npm。
安装教程
- 创建项目目录:
mkdir my-mcp-server
cd my-mcp-server
- 初始化Node.js项目:
npm init -y
- 安装MCP TypeScript SDK:
npm install @modelcontextprotocol/sdk
- 安装TypeScript和其他依赖:
npm install typescript zod
- 创建tsconfig.json文件:
{
"compilerOptions": {
"target": "ES2020",
"module": "NodeNext",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
"outDir": "./build"
},
"include": ["src/**/*"]
}
- 创建src目录和index.ts文件:
mkdir src
touch src/index.ts
调试方式
- 编译TypeScript代码:
npx tsc
- 运行编译后的JavaScript:
node build/index.js
- 测试echo工具:发送JSON-RPC 2.0消息:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "echo", "arguments": { "message": "Hello, world!" } }
}