MCP Base

MCP Base

一个通用的模型上下文协议框架,用于构建 AI 驱动的应用程序,它提供了标准化的方法来创建 MCP 服务器和客户端,以便集成 LLM,并支持 Ollama 和 Supabase。

AI内容生成
AI集成系统
访问服务器

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'

服务器初始化

  1. 导入所需的模块
  2. 注册您的资源、工具和提示
  3. 启动服务器
// 导入基础服务器和实用程序
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();

📚 扩展框架

创建新工具

  1. tools/ 目录中创建一个新文件
  2. 使用 Zod 定义您的工具函数和模式
  3. 实现您的工具逻辑
  4. 在您的服务器中注册该工具

创建新资源

  1. resources/ 目录中创建一个新文件
  2. 定义您的资源端点和模式
  3. 实现您的资源逻辑
  4. 在您的服务器中注册该资源

创建新提示

  1. prompts/ 目录中创建一个新文件
  2. 定义您的提示模式和参数
  3. 实现您的提示模板
  4. 在您的服务器中注册该提示

📄 许可证

MIT

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
https://github.com/Streen9/react-mcp

https://github.com/Streen9/react-mcp

react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。

精选
本地
MCP Atlassian

MCP Atlassian

适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

精选
any-chat-completions-mcp

any-chat-completions-mcp

将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。

精选
Exa MCP Server

Exa MCP Server

一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。

精选
AI 图像生成服务

AI 图像生成服务

可以用于 Cursor 集成 MCP 服务器。

精选