
MCP Base - A Generic Model Context Protocol Framework

2025.03.14
0
TypeScriptAI集成文本生成向量存储开发效率
MCP Base 是一个通用的模型上下文协议框架,用于构建基于AI的应用程序。它提供了一种标准化的方式来创建MCP服务器和客户端,以便将大型语言模型(LLM)集成到应用程序中。该框架具有模块化设计,支持HTTP和stdio传输,并集成了Ollama和Supabase等服务。
View on GitHub
Overview
基本能力
产品定位
MCP Base 是一个通用的模型上下文协议框架,旨在为开发者提供一种标准化的方式来集成和使用大型语言模型(LLM)在应用程序中。
核心功能
- 标准化MCP服务器:支持HTTP和stdio传输的基础服务器实现。
- 通用MCP客户端:可以连接到任何MCP服务器的客户端。
- Ollama集成:提供现成的服务,用于生成嵌入和文本。
- Supabase集成:内置支持Supabase向量数据库。
- 模块化设计:清晰的组织结构,包括资源、工具和提示。
- 示例模板:提供示例实现,帮助快速上手。
适用场景
- 构建AI驱动的应用程序。
- 集成大型语言模型(LLM)到现有系统中。
- 开发需要文本生成或嵌入功能的工具。
- 使用Supabase进行向量存储的应用。
工具列表
- sample-tool.ts:示例工具模板,展示如何实现和注册工具。
- sample-resource.ts:示例资源模板,展示如何实现和注册资源。
- sample-prompt.ts:示例提示模板,展示如何实现和注册提示。
常见问题解答
- 如何扩展框架?:可以通过创建新的工具、资源和提示来扩展框架。
- 如何启动服务器?:导入所需模块,注册资源、工具和提示,然后启动服务器。
- 如何使用客户端?:创建客户端实例,调用工具、读取资源或获取提示。
使用教程
使用依赖
- Node.js和npm/pnpm:确保已安装Node.js和npm或pnpm。
- Ollama:用于本地嵌入和文本生成。
- Supabase账户:用于向量存储。
安装教程
- 创建
.env
文件并配置环境变量:env PORT=3000 SUPABASE_URL=https://your-project.supabase.co SUPABASE_SERVICE_KEY=your-service-key OLLAMA_URL=http://localhost:11434 OLLAMA_EMBED_MODEL=nomic-embed-text OLLAMA_LLM_MODEL=llama3 SERVER_MODE=http # 'http' or 'stdio'
- 导入所需模块并注册资源、工具和提示: ```typescript import server from "./server"; import { registerSampleResources } from "./resources/sample-resource"; import { registerSampleTool } from "./tools/sample-tool"; import { registerSamplePrompts } from "./prompts/sample-prompt";
registerSampleResources(server, supabase); registerSampleTool(server, textGenerator, embeddings, supabase); registerSamplePrompts(server, supabase);
startServer(); ```
调试方式
- 启动服务器后,可以使用客户端进行调试: ```typescript import MCPClient from "./client";
const client = new MCPClient({ serverUrl: "http://localhost:3000", });
async function callSampleTool() { const result = await client.callTool("sample-tool", { query: "example query", maxResults: 5, }); console.log(result); }
await client.disconnect(); ``` 2. 检查控制台输出,确保工具、资源和提示按预期工作。