MCP学习服务器集合

包含两个MCP服务器实现的学习项目,用于学习MCP的基本概念和实践实现。

  • by alphajinsei
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 alphajinsei/MCP-learning

使用说明

MCP学习项目

Model Context Protocol (MCP) 中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长MCP服务器实现的集合。

概要

在动态输入提示中MCP从基本概念到实践实施,包括两个示例服务器:

  1. 天气信息服务器 -外部API简单的MCP服务器
  2. 备注管理服务器 - CRUD实施操作的状态完整MCP服务器

项目配置

MCP/
├── mcp-weather-server/     # 天気情報取得サーバー
│   ├── index.js
│   ├── package.json
│   └── README.md
├── mcp-memo-server/        # メモ管理サーバー
│   ├── index.js
│   ├── package.json
│   ├── data/
│   │   └── memos.json
│   └── README.md
└── .mcp.json               # MCP設定ファイル

每个服务器的特征

1.天气信息服务器

学习水平:初级〜中级

外部API(Open-Meteo)利用日本主要城市的天气信息MCP服务器。 **MCP完整的学习示例,其中包含三个主要功能(工具、资源和程序)**是。

  • 工具:1个(get_weather)
  • 资源:1个(weather://cities - 都市一覧)
  • 鼓励:1个(compare-weather -天气比较)
  • 外部API协作:有
  • 数据持久化:无
  • 复杂性:中等

了解更多信息 mcp天气服务器/README.md 来修改标记元素的显示属性。

2.备注管理服务器

学习水平:中级

本地JSON使用文件CRUD实施操作的状态完整MCP服务器。

  • 提供工具:4个(create_memo, read_memo, update_memo, delete_memo)
  • 外部API协作:无
  • 数据持久化:有(JSON)
  • 复杂性:稍微复杂

了解更多信息 mcp备忘录服务器/README.md 来修改标记元素的显示属性。

安装,安装

前提条件

  • Node.js (v16以上推奨)
  • Claude Desktop 或Claude Code(VSCode扩展

安装说明

在每个服务器目录中安装从属关系:

# 天気情報サーバー
cd mcp-weather-server
npm install

# メモ管理サーバー
cd ../mcp-memo-server
npm install

Claude Desktop中的设置

配置文件(claude_desktop_config.json)中添加以下内容:

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["path/to/mcp-weather-server/index.js"]
    },
    "memo": {
      "command": "node",
      "args": ["path/to/mcp-memo-server/index.js"]
    }
  }
}

Claude Code (VSCode) 中的设置

项目根目录 .mcp.json 将条目添加到文档注册表。

使用例

获取天气信息

ユーザー: 東京の天気を教えて
Claude: [天気情報を取得して表示]

管理备注

ユーザー: 「買い物リスト」というメモを作って
Claude: [メモを作成]

ユーザー: 全部のメモを見せて
Claude: [メモ一覧を表示]

学习要点

通过这个项目MCP的概念:

基本概念

  • MCP服务器初始化和配置
  • 声明功能
  • 实现请求处理程序
  • 基于标准输入输出的通信
  • JSON-RPC 2.0协议

MCP三大功能

  • 工具:提供可执行的功能
  • 资源:提供静态和动态数据
  • 鼓励:提供常规问题模板

实践主题

  • 外部API协作
  • 文件I/O和数据持久化
  • 错误处理
  • 管理多个工具
  • CRUD实施操作
  • 定制URI方案设计
  • 动态提示生成

技术栈

故障排除

MCP未检测到服务器

  1. Claude Desktop/Code完全重新启动
  2. 确认配置文件的路径是否正确
  3. npm install确认是否已完成
  4. Node.js查看版本(node --version)

错误日志的确认方法

  • 克劳德桌面菜单-Help → View Logs
  • 克劳德代码(VSCode):输出面板-Claude Code

参考链接

许可证

此项目是为了学习而创建的。请自由使用、修改。

下一步

基于此项目,请尝试以下扩展:

  • 实施资源功能
  • 添加提示功能
  • 管理更复杂的数据结构
  • 与数据库协作
  • 多个MCP服务器间协作