unsplash-mcp-server

unsplash-mcp-server

site icon
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与外部服务的集成和交互。

核心功能

  1. 实时数据提供:从数据库、API或其他来源获取信息。
  2. 特殊工具暴露:提供图像处理、代码执行、数据分析等功能。
  3. 提示管理及共享:存储和提供预定义的提示或提示模板。
  4. 外部系统连接:与其他应用程序、服务或平台集成。
  5. 多传输机制支持:支持stdio和HTTP SSE等多种通信方式。

适用场景

  1. LLM应用程序需要访问外部数据源时。
  2. 需要为LLM提供特定功能工具时。
  3. 需要管理和共享预定义提示时。
  4. 需要将LLM与其他系统或服务集成时。

工具列表

  1. echo工具:接收输入并返回相同的输出,用于测试和演示。

常见问题解答

  1. 连接问题:确保使用正确的传输机制和端口。
  2. 工具调用失败:检查输入参数是否符合定义的schema。
  3. 性能问题:优化服务器代码和资源使用。

使用教程

使用依赖

  1. Node.js和npm安装:确保系统已安装Node.js(版本18以上)和npm。

安装教程

  1. 创建项目目录
mkdir my-mcp-server
cd my-mcp-server
  1. 初始化Node.js项目
npm init -y
  1. 安装MCP TypeScript SDK
npm install @modelcontextprotocol/sdk
  1. 安装TypeScript和其他依赖
npm install typescript zod
  1. 创建tsconfig.json文件
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "NodeNext",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "skipLibCheck": true,
    "outDir": "./build"
  },
  "include": ["src/**/*"]
}
  1. 创建src目录和index.ts文件
mkdir src
touch src/index.ts

调试方式

  1. 编译TypeScript代码
npx tsc
  1. 运行编译后的JavaScript
node build/index.js
  1. 测试echo工具:发送JSON-RPC 2.0消息:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": { "name": "echo", "arguments": { "message": "Hello, world!" } }
}

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。