
MCP Base
一个通用的模型上下文协议框架,用于构建 AI 驱动的应用程序,它提供了标准化的方法来创建 MCP 服务器和客户端,以便集成 LLM,并支持 Ollama 和 Supabase。
README
MCP Base - 通用模型上下文协议框架
此文件夹包含用于构建 AI 驱动应用程序的模型上下文协议 (MCP) 的通用基础实现。它提供了一种标准化的方法来创建 MCP 服务器和客户端,可用于将 LLM 集成到您的应用程序中。
📋 功能
- 标准化 MCP 服务器: 具有 HTTP 和 stdio 传输支持的基础服务器实现
- 通用 MCP 客户端: 用于连接到任何 MCP 服务器的客户端
- Ollama 集成: 随时可用的服务,用于使用 Ollama 生成嵌入和文本
- Supabase 集成: 内置对 Supabase 向量数据库的支持
- 模块化设计: 结构清晰,用于组织资源、工具和提示
- 示例模板: 示例实现,可帮助您快速入门
🛠️ 目录结构
_mcp-base/
├── server.ts # 主要 MCP 服务器实现
├── client.ts # 通用 MCP 客户端
├── utils/ # 实用程序服务
│ ├── ollama_embedding.ts # 使用 Ollama 生成嵌入
│ └── ollama_text_generation.ts # 使用 Ollama 生成文本
├── tools/ # 工具实现
│ └── sample-tool.ts # 示例工具模板
├── resources/ # 资源实现
│ └── sample-resource.ts # 示例资源模板
├── prompts/ # 提示实现
│ └── sample-prompt.ts # 示例提示模板
└── README.md # 此文档
🚀 快速开始
前提条件
- Node.js 和 npm/pnpm
- 用于本地嵌入和文本生成的 Ollama
- 用于向量存储的 Supabase 帐户
环境设置
创建一个包含以下变量的 .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' 或 'stdio'
服务器初始化
- 导入所需的模块
- 注册您的资源、工具和提示
- 启动服务器
// 导入基础服务器和实用程序
import server from "./server";
import { registerSampleResources } from "./resources/sample-resource";
import { registerSampleTool } from "./tools/sample-tool";
import { registerSamplePrompts } from "./prompts/sample-prompt";
// 如果需要,初始化数据库
async function initializeDatabase() {
// 您的数据库初始化逻辑
}
// 注册您的组件
registerSampleResources(server, supabase);
registerSampleTool(server, textGenerator, embeddings, supabase);
registerSamplePrompts(server, supabase);
// 启动服务器
startServer();
客户端用法
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);
}
// 示例:读取一个资源
async function readResource() {
const items = await client.readResource("items://all");
console.log(items);
}
// 示例:获取一个提示
async function getPrompt() {
const prompt = await client.getPrompt("simple-prompt", {
task: "Explain quantum computing",
});
console.log(prompt);
}
// 完成后不要忘记断开连接
await client.disconnect();
📚 扩展框架
创建新工具
- 在
tools/
目录中创建一个新文件 - 使用 Zod 定义您的工具函数和模式
- 实现您的工具逻辑
- 在您的服务器中注册该工具
创建新资源
- 在
resources/
目录中创建一个新文件 - 定义您的资源端点和模式
- 实现您的资源逻辑
- 在您的服务器中注册该资源
创建新提示
- 在
prompts/
目录中创建一个新文件 - 定义您的提示模式和参数
- 实现您的提示模板
- 在您的服务器中注册该提示
📄 许可证
MIT
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
https://github.com/Streen9/react-mcp
react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。
MCP Atlassian
适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。
AI 图像生成服务
可以用于 Cursor 集成 MCP 服务器。