Token导航 LogoToken导航

MCP Server · AI代理

JC MCP tutorial Dec25

一个教育性的最小化项目,展示了模型上下文协议(MCP)与三种不同类型服务器的交互,包括代码执行、数据库操作和文档管理。

stdio官方级别未说明来源级核验工具 0
Jupyter Notebook代码执行数据库操作文档处理AI代理

快速开始

作者 / 组织
carbonjo
提供方
carbonjo

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

JC MCP tutorial Dec25 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP代理教育项目

这是一个教育性的、最小的项目,它用三种不同类型的服务器演示了模型上下文协议(MCP):

  1. 代码服务器 -文件操作和代码执行
  2. 数据库服务器 -SQLite数据库操作
  3. 文档服务器 -文档管理和搜索

什么是MCP?

模型上下文协议(MCP)是一种标准化的协议,允许AI代理与各种服务和工具进行交互。它为以下内容提供了一个通用接口:

  • 工具:代理可以调用以执行操作的函数
  • 资源:代理可以访问的数据
  • 提示:可重复使用的提示模板

项目结构

.
├── servers/
│   ├── code_server.py          # Code server implementation
│   ├── database_server.py      # Database server implementation
│   └── document_server.py      # Document server implementation
├── notebooks/
│   ├── mcp_client_demo.ipynb   # Jupyter notebook with basic MCP demos
│   └── mcp_llm_agent.ipynb     # Jupyter notebook with LLM integration
├── requirements.txt            # Python dependencies
└── README.md                   # This file

设置

  1. 安装依赖项:
   pip install -r requirements.txt
  1. 使服务器脚本可执行(可选):
   chmod +x servers/*.py

运行演示

  1. 启动Jupyter笔记本:
   jupyter notebook
  1. 打开演示笔记本(按顺序):

- 从这里开始: notebooks/mcp_client_demo.ipynb -基本MCP演示 - 运行单元格 一次一个 - 等待每个单元格完成,然后运行下一个单元格 - 那就试试: notebooks/mcp_llm_agent.ipynb -高级LLM集成 - 首先需要了解基本演示

  1. 重要提示:

- 按顺序运行单元格:不要同时运行所有单元格 - 等待完成:寻找 [1], [2], [3] (单元格编号) - **[*] 意味着跑步:等待它完成 - await 在Jupyter中工作:不需要 asyncio.run() - 服务器自动启动**:无需手动启动它们

  1. 故障排除:

- 如果执行编号未显示:请参阅 NOTEBOOK_TROUBLESHOOTING.md - 如果单元格挂起:按 Ctrl+C (或 Cmd+C)中断,然后重新启动内核 - 如果连接错误:请参阅 GETTING_STARTED.md 获取详细帮助

LLM集成

该项目包括LLM集成,以创建能够理解自然语言并使用MCP工具的智能代理。支持两种方法:

方法1:Ollama(局部模型)

在没有API密钥的情况下本地运行LLM:

  1. 安装Ollama:从下载 https://ollama.ai
  2. 拉一个模型: ollama pull llama3 (或任何其他型号)
  3. 启动Ollama服务: ollama serve
  4. 在笔记本电脑中使用:The mcp_llm_agent.ipynb 笔记本电脑将自动检测并使用Ollama

方法2:基于API的模型(OpenAI和Gemini)

使用基于云的LLM API:

  1. 获取API密钥:

- 开放人工智能:从 https://platform.openai.com/api-keys - 双子座:从 https://aistudio.google.com/app/apikey

  1. 设置API密钥 (使用.env文件):

- 创建 .env 文件 在项目根目录中:

     cp .env.example .env

- 编辑 .env 文件 并添加您的密钥:

     OPENAI_API_KEY=your-openai-key-here
     GEMINI_API_KEY=your-gemini-key-here

- 备注:您只需为要使用的提供商设置密钥 - 这 .env 出于安全考虑,文件被忽略

  1. 在笔记本电脑中使用:打开 mcp_llm_agent.ipynb -密钥将从自动加载 .env

LLM代理使用示例

# Using Ollama (local)
result = await intelligent_agent(
    "List all users in the database",
    provider="ollama",
    model="llama3"
)

# Using OpenAI
result = await intelligent_agent(
    "Create a document with database statistics",
    provider="openai",
    model="gpt-4o-mini"
)

# Using Gemini
result = await intelligent_agent(
    "Write a Python function to calculate factorial",
    provider="gemini"
)

服务器详细信息

代码服务器(code_server.py)

提供以下工具:

  • read_file:读取文件内容
  • write_file:将内容写入文件
  • execute_code:执行Python代码
  • save_code_snippet:保存代码片段以供以后使用
  • list_code_snippets:列出所有已保存的代码段

资源:

  • 存储在内存中的代码片段(可通过以下方式访问 code:// URI)

数据库服务器(database_server.py)

提供以下工具:

  • execute_query:执行SQL查询(SELECT、INSERT、UPDATE、DELETE)
  • list_tables:列出所有数据库表
  • describe_table:获取表的架构信息
  • insert_user:插入新用户(方便方法)
  • get_user:通过电子邮件联系用户(便捷方式)

资源:

  • 数据库架构(db://schema)
  • 表格列表(db://tables)

注: 服务器自动创建SQLite数据库(example.db)第一次运行时使用样本数据。

文档服务器(document_server.py)

提供以下工具:

  • create_document:创建新的文本文档
  • read_document:读取文档内容
  • list_documents:列出所有可用文件
  • search_documents:在所有文档中搜索文本
  • append_to_document:将文本附加到现有文档
  • delete_document:删除文档

资源:

  • 文件存储在 documents/ 目录(可通过以下方式访问 doc:// URI)

MCP的工作原理

传输机制

MCP支持多种传输机制:

  1. 标准输入/输出 -用于此项目

- ✅ 简单:无需网络配置 - ✅ 安全:无暴露端口 - ✅ 进程管理:客户端生成服务器 - ❌ 仅限本地:无法连接到远程服务器 - ❌ 每台服务器一个客户端:每个客户端生成自己的进程

  1. HTTP/SSE(服务器发送事件) -备选方案

- ✅ 远程访问:连接到不同机器上的服务器 - ✅ 可扩展:多个客户端可以共享一台服务器 - ✅ Web集成:可以从浏览器访问 - ❌ 更复杂:需要web服务器框架 - ❌ 安全性:需要身份验证/授权

为什么选择stdio参与这个项目?

  • 教育重点:更易于理解和设置
  • 本地开发:非常适合学习和测试
  • MCP标准:MCP规范中的主要传输机制
  • 无依赖性:开箱即用

何时改用HTTP:

  • 生产部署
  • 远程服务器访问
  • 多个客户端共享一台服务器
  • Web浏览器集成

看 TRANSPORT_COMPARISON.md 以进行详细比较。

通信流

  1. 服务器:MCP服务器通过stdio(或HTTP)公开工具和资源
  1. 客户端:MCP客户端连接到服务器,可以:

- 列出可用工具 - 调用带有参数的工具 - 列出可用资源 - 按URI访问资源

  1. 沟通:通过stdio(或HTTP/SSE)使用JSON-RPC进行通信

示例用法

基本MCP演示(mcp_client_demo.ipynb)

基本笔记本演示:

  • 连接到每台服务器
  • 列出可用工具
  • 调用具有不同参数的工具
  • 访问资源
  • 在工作流中组合多个服务器

LLM代理演示(mcp_llm_agent.ipynb)

LLM代理笔记本演示了:

  • 使用Ollama进行局部LLM推理
  • 使用OpenAI API进行基于云的LLM
  • 使用Google Gemini API
  • 与MCP服务器的自然语言交互
  • 智能刀具选择和执行
  • 多步骤工作流自动化

教育价值

本项目说明:

  • 如何创建MCP服务器
  • 如何实施工具和资源
  • 如何将客户端连接到服务器
  • 如何同时使用多台服务器
  • 如何将LLM与MCP服务器集成
  • 如何创建理解自然语言的智能代理
  • 代理应用程序的真实模式

运输选项

当前实施:stdio

此项目中的服务器使用 stdio传输,即:

  • 设置简单
  • 安全(无网络端口)
  • 非常适合当地发展
  • 标准MCP传输

添加HTTP支持

要改用HTTP传输,请执行以下操作:

  1. 安装HTTP依赖项 (可选):
   pip install fastapi uvicorn
  1. 将服务器作为HTTP服务运行:
   python servers/code_server_http.py
  1. 通过HTTP连接客户端:
   from mcp.client.sse import sse_client
   # Use HTTP client instead of stdio_client

看 TRANSPORT_COMPARISON.md 有关stdio与HTTP的详细比较。

扩展项目

您可以通过以下方式扩展此项目:

  • 向现有服务器添加更多工具
  • 创建新服务器(例如,API服务器、文件系统服务器)
  • 实现远程访问的HTTP传输
  • 添加身份验证和授权
  • 实施更复杂的工作流程
  • 添加错误处理和验证
  • 为服务器创建web界面

资源

许可证

这是一个教育项目。您可以根据需要自由使用和修改。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Jupyter Notebook本地部署模型上下文协议代码执行数据库操作文档管理AI代理

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
JC MCP tutorial Dec25

MCP World · 本页

0stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

JC MCP tutorial Dec25 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

JC MCP tutorial Dec25 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

JC MCP tutorial Dec25 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

JC MCP tutorial Dec25 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

JC MCP tutorial Dec25 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP