Token导航 LogoToken导航TokenDH.com
MCP Educational Servers logo
AI代理未说明官方级别未说明来源级核验

MCP Educational Servers

MCP Server

一套包含三个实用MCP服务器的教学项目,帮助开发者通过实践学习Model Context Protocol(MCP)标准协议。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
开发工具TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bartosz-laszczuk

提供方

bartosz-laszczuk

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

教育MCP服务器

全面收集 三种实用的模型上下文协议(MCP)服务器 旨在通过实际操作示例帮助开发人员理解和学习MCP。

📚 什么是MCP?

模型上下文协议(MCP) 是由Anthropic创建的开放标准,使AI应用程序能够以标准化的方式连接到数据源和工具。开发人员不是为每个数据源构建自定义集成,而是根据单一协议进行构建。

MCP服务器公开了三个核心 原语:

  1. 工具 -可执行的操作(例如,添加项目、搜索、更新状态)
  2. 资源 -可读取的数据(例如,文件、数据库、API)
  3. 提示词 -指导人工智能交互的可重用模板

🎯 关于本项目

此项目包含 三台独立的MCP服务器,每个都以中等/实际复杂性级别展示了不同的用例和MCP模式:

1.学习库服务器📖

管理个人学习库(书籍、文章、课程、视频、播客)。

演示:

  • 学习资源的CRUD操作
  • 进度跟踪和完成状态
  • 统计和分析
  • 搜索和过滤功能

使用案例:

  • 跟踪学习材料
  • 衡量学习进度
  • 获取下一步学习内容的建议
  • 制定学习计划

→ 请参阅详细文档

______________________________________________________________________

2.代码段服务器💻

通过语言检测和标记来存储和管理代码片段。

演示:

  • 基于文件的存储和检索
  • 语言分类
  • 基于标签的组织
  • 使用情况跟踪和收藏夹

使用案例:

  • 存储可重用的代码片段
  • 按语言、标签或关键字搜索
  • 获取人工智能辅助的代码解释
  • 为特定用例组合片段

→ 请参阅详细文档

______________________________________________________________________

3.任务管理器服务器✅

完成具有依赖关系的任务和项目管理系统。

演示:

  • 状态管理(TODO、IN_PROGRESS、BLOCKED等)
  • 实体关系(任务↔ 项目)
  • 具有周期检测的依赖性跟踪
  • 复杂的过滤和统计

使用案例:

  • 管理任务和项目
  • 跟踪进度和完成情况
  • 生成站立报告
  • 在人工智能的帮助下规划冲刺

→ 请参阅详细文档

______________________________________________________________________

🚀 快速开始

先决条件

  • Node.js 18+和npm
  • 克劳德代码克劳德桌面 (使用服务器)

安装

  1. 克隆或下载此存储库
cd mcp-educational-servers
  1. 安装依赖项
npm install
  1. 构建所有服务器
npm run build

这将为所有三台服务器将TypeScript编译为JavaScript。

测试单个服务器

您可以独立构建和测试每个服务器:

# Learning Library
npm run build:learning

# Code Snippets
npm run build:snippets

# Task Manager
npm run build:tasks

🔧 配置

克劳德代码

添加到您的克劳德代码设置(~/.config/claude-code/config.json 或通过设置UI):

{
  "mcpServers": {
    "learning-library": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-educational-servers/learning-library/dist/index.js"
      ]
    },
    "code-snippets": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-educational-servers/code-snippets/dist/index.js"
      ]
    },
    "task-manager": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-educational-servers/task-manager/dist/index.js"
      ]
    }
  }
}

重要提示: 替换 /absolute/path/to/ 使用系统上的实际完整路径。

适用于克劳德桌面

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或您操作系统上的同等版本:

{
  "mcpServers": {
    "learning-library": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-educational-servers/learning-library/dist/index.js"
      ]
    },
    "code-snippets": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-educational-servers/code-snippets/dist/index.js"
      ]
    },
    "task-manager": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-educational-servers/task-manager/dist/index.js"
      ]
    }
  }
}

验证配置

配置后,重新启动Claude Code或Claude Desktop。当您与Claude交互时,您应该看到服务器的工具、资源和提示可用。

验证:

  • 问克劳德:“有哪些MCP服务器可用?”
  • 问克劳德:“给我看看学习库服务器上的工具”
  • 问克劳德:“阅读资源library://catalog"

📖 学习路径

如果您是MCP的新手,我们建议您按以下顺序浏览服务器:

1.从学习图书馆开始

  • 为什么? 最简单的数据模型,清晰的CRUD操作
  • 学习: 基本工具、资源和提示结构
  • 尝试: 添加学习项目,搜索它,标记它完成
  • 探索: 使用“查看进度”提示

2.转到代码段

  • 为什么? 引入更复杂的过滤和使用情况跟踪
  • 学习: 基于标签的组织、收藏夹、使用计数
  • 尝试: 添加代码片段,按语言/标签搜索
  • 探索: 使用“解释片段”和“改进片段”提示

3.完成任务管理器

  • 为什么? 关系和依赖关系最为复杂
  • 学习: 实体关系、依赖关系跟踪、验证
  • 尝试: 创建项目和任务,添加依赖关系
  • 探索: 使用“冲刺计划”和“每日站立”提示

🔍 关键概念展示

工具(动作)

每台服务器都实现了执行以下操作的工具:

  • 输入验证 使用Zod模式
  • 错误处理 有意义的信息
  • 状态更新 具有持久性
  • 响应格式 遵循MCP惯例

学习库示例:

// addItem tool - Creates a new learning resource
// Input: title, type, author, topic, description, url (optional)
// Output: Success message + created item

资源(数据)

服务器通过基于URI的资源公开数据:

  • 静态资源 (例如。, library://catalog)
  • 动态资源 (例如。, library://topic/{topicName})
  • 过滤视图 (例如。, snippets://favorites)
  • 统计 (例如。, tasks://stats)

URI示例:

  • library://catalog -所有学习项目
  • snippets://language/typescript -仅限TypeScript代码段
  • tasks://project/{projectId} -特定项目的任务

提示(模板)

提示指导人工智能与结构化工作流程的交互:

  • 参数 用于定制
  • 上下文 从数据存储中
  • 结构化输出 指导

任务管理器示例:

// "sprint-planning" prompt
// Takes: sprintDuration, capacity
// Provides: Backlog analysis, task recommendations, risk assessment

🛠️ 项目结构

mcp-educational-servers/
├── package.json                   # Workspace root
├── tsconfig.json                  # Shared TypeScript config
├── README.md                      # This file
├── shared/                        # Shared utilities
│   ├── types.ts                   # Common types
│   └── utils.ts                   # Helper functions
├── learning-library/
│   ├── src/
│   │   ├── index.ts               # Server implementation
│   │   ├── types.ts               # Domain types
│   │   └── data.json              # Data storage (auto-created)
│   ├── package.json
│   ├── tsconfig.json
│   └── README.md
├── code-snippets/
│   ├── src/
│   │   ├── index.ts
│   │   ├── types.ts
│   │   └── data.json              # Data storage (auto-created)
│   ├── package.json
│   ├── tsconfig.json
│   └── README.md
└── task-manager/
    ├── src/
    │   ├── index.ts
    │   ├── types.ts
    │   └── data.json              # Data storage (auto-created)
    ├── package.json
    ├── tsconfig.json
    └── README.md

📝 代码亮点

共享公用设施(shared/)

所有服务器都使用通用实用程序:

  • ID生成 -实体的唯一标识符
  • 时间戳 -ISO格式时间戳
  • 文件I/O -具有错误处理功能的安全JSON读/写
  • 格式化错误 -一致的错误消息
  • 验证助手 -常见验证功能

数据持久层

  • 每台服务器都将数据存储在JSON文件中(data.json)
  • 首次运行时自动创建,默认为空状态
  • 简单的基于文件的持久性(易于理解和检查)
  • 在生产环境中,你会使用一个合适的数据库

类型安全

  • Zod模式 用于工具输入的运行时验证
  • TypeScript类型 用于编译时安全
  • 枚举 用于状态/优先级/类型值
  • 接口 延伸 BaseEntity 结构一致

🧪 测试服务器

Claude手动测试

配置服务器后,尝试以下交互:

学习图书馆:

Claude, add a book to my learning library:
- Title: "Clean Code"
- Author: "Robert C. Martin"
- Type: BOOK
- Topic: "Software Engineering"
- Description: "A handbook of agile software craftsmanship"

代码段:

Claude, add this TypeScript snippet:
- Title: "Debounce Function"
- Language: typescript
- Category: utilities
- Tags: ["async", "performance"]
- Code: [paste code]

任务管理器:

Claude, create a project called "Website Redesign" and add 3 tasks for it

测试提示

Claude, use the "review-progress" prompt from the learning library to analyze my learning
Claude, use the "improve-snippet" prompt to suggest improvements for snippet ID [id]
Claude, use the "daily-standup" prompt from task manager to generate today's report

🎓 教育价值

你将学到什么

  1. MCP协议基础

- 服务器如何通过JSON-RPC与客户端通信 - 三个基本元素:工具、资源、提示 - 能力协商和服务器生命周期

  1. 服务器实现

- 使用SDK设置MCP服务器 - 处理不同类型的请求 - 正确的错误处理和验证

  1. 数据管理

- MCP服务器的持久模式 - 状态管理和更新 - 过滤和搜索实施

  1. 最佳实践

- 使用Zod进行输入验证 - TypeScript的类型安全 - 资源URI设计 - 提示模板结构

  1. 现实世界模式

- CRUD操作 - 实体关系 - 依赖追踪 - 统计和汇总

🔒 安全考虑

这些服务器是 教育实例 并包括基本的安全实践:

已实施:

  • 使用Zod模式进行输入验证
  • TypeScript的类型安全
  • 不暴露内部的错误处理
  • 文件路径验证

⚠️ 未准备好生产:

  • 无身份验证/授权
  • 仅基于本地文件的存储
  • 无速率限制
  • SQL注入无输入净化(不使用SQL)
  • 静止数据不加密

对于生产用途,您可以添加:

  • 身份验证(JWT、OAuth、API密钥)
  • 授权和访问控制
  • 具有适当安全性的数据库
  • 日志记录与监视
  • 速率限制
  • 输入净化和验证
  • 安全配置管理

📚 其他资源

MCP官方文件

了解更多

🤝 贡献

这是一个教育项目。请随意:

  • 用新功能扩展服务器
  • 为不同域添加更多服务器
  • 改进文档
  • 分享你的学习经历

📄 许可证

MIT许可证-请随意使用这些示例来学习和构建您自己的MCP服务器。

❓ 常见问题解答

Q: 为什么是三台独立的服务器而不是一台?

A. 证明MCP服务器应该具有集中、单一的责任目的。每个服务器独立管理一个域。

Q: 我可以在生产中使用这些吗?

A. 这些都是教育方面的例子。对于生产,添加身份验证、适当的数据库、错误处理、日志记录和安全措施。

Q: 如何添加我自己的工具/资源/提示?

A. 查看任何服务器中的实现 src/index.ts。对于新工具、资源或提示,请遵循相同的模式。

Q: 如果我收到“找不到命令”错误怎么办?

A. 确保你已经跑过了 npm run build 配置中的路径为 绝对路径,不是相对的。

Q: 我可以直接修改data.json文件吗?

A. 对!JSON文件是人类可读的。您可以直接编辑它们进行测试,但要注意维护有效的JSON结构。

Q: 如何调试服务器问题?

A. 检查服务器日志(它们输出到stderr)。您还可以使用MCP检查器工具进行目视测试。

______________________________________________________________________

快乐学习! 🚀

如果您有疑问或想分享您构建的内容,请随时在存储库上打开问题或讨论。

目录标签

目录标签

开发工具TypeScriptClaudeMCP协议本地部署教学项目AI集成实践学习

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP