Token导航 LogoToken导航

MCP Server · 运维云端

MCP Protocol

一个基于FastAPI和Next.js的模型上下文协议实现,支持SSE、Streamable HTTP和Stdio三种传输方式。

stdio官方级别未说明来源级核验工具 2
Python本地部署STDIOFastAPI

快速开始

作者 / 组织
jaehyodev
提供方
jaehyodev
运行时
Python

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

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

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uv run uvicorn src.main:app --reload --host 0.0.0.0 --port 8000

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

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

MCP协议(FastAPI+Next.js)

Model Context Protocol实现-FastAPI后端和Next.js前端

🎯 项目概述

该项目使用FastAPI实现了模型上下文协议(MCP)的三种传输方式。

  • 前端:Next.js 16+React 19+TailwindCSS 4
  • 后端:FastAPI+Pydantic+uvicorn
  • 包管理器:

- 前端:纱线(离线镜像) - 后端:uv

📂 项目结构

mcp-protocol/
├── frontend/                # Next.js 프론트엔드
│   ├── src/
│   │   ├── app/
│   │   │   ├── api/stdio/route.ts      # Stdio API Route
│   │   │   ├── mcpClientSSE.ts         # SSE 클라이언트
│   │   │   └── mcpClientStreamableHttp.ts  # HTTP 클라이언트
│   │   ├── components/                 # UI 컴포넌트
│   │   ├── hooks/                      # React 훅
│   │   └── types/                      # TypeScript 타입
│   ├── package.json
│   └── .yarnrc                        # Yarn offline mirror
│
├── backend/                 # FastAPI 백엔드
│   ├── src/
│   │   ├── main.py                    # FastAPI 앱
│   │   ├── models/
│   │   │   └── jsonrpc.py            # Pydantic 모델
│   │   ├── routers/
│   │   │   ├── sse.py                # SSE 라우터
│   │   │   └── http.py               # Streamable HTTP 라우터
│   │   └── stdio_server.py           # Stdio 독립 서버
│   ├── pyproject.toml                # uv 프로젝트 설정
│   └── .python-version               # Python 버전
│
└── README.md

🚀 安装和运行

前提条件

  • Node.js 18+(前端)
  • python 3.11+(后端)
  • 纱线 1.22+(前端软件包管理)
  • 紫外线 (后端包管理)

1.Backend设置(FastAPI)

cd backend

# uv로 의존성 설치
uv sync

# 개발 서버 실행 (포트 8000)
uv run uvicorn src.main:app --reload --host 0.0.0.0 --port 8000

运行单独的Stdio服务器 (可选):

# Stdio 서버 (포트 없음, stdin/stdout)
uv run python src/stdio_server.py stdio

2.设置Frontend(Next.js)

cd frontend

# Yarn으로 의존성 설치
yarn install

# 개발 서버 실행 (포트 3000)
yarn dev

3.浏览器连接

  • 前端:http://localhost:3000
  • 后端API文档:http://localhost:8000/docs
  • 后端健康:http://localhost:8000/health

📡 按传输方式划分的端点

SSE(服务器发送事件)

方法端点说明
职位/api/sse/messages客户端→服务器请求(initialize、echo等)
得到/api/sse/stream服务器→客户端通知流(每5秒)

使用示例:

# Initialize
curl -X POST http://localhost:8000/api/sse/messages \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":"1","method":"initialize","params":{}}'

# SSE 스트림 구독
curl -N http://localhost:8000/api/sse/stream

可流式传输的HTTP

方法端点说明
职位/api/http请求处理(单个或流式处理)
得到/api/httpSSE通知(可选长期连接)

使用示例:

# 단일 응답 (Echo)
curl -X POST http://localhost:8000/api/http \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"jsonrpc":"2.0","id":"1","method":"echo","params":{"message":"hello"}}'

# 스트리밍 응답 (Stream)
curl -X POST http://localhost:8000/api/http \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{"jsonrpc":"2.0","id":"1","method":"stream","params":{}}'

# GET SSE 알림
curl -N http://localhost:8000/api/http

工作室

Stdio不由FastAPI直接处理,而是由Next.js API Route(/api/stdio)充当代理。

# Stdio 서버를 별도로 실행한 후
uv run python src/stdio_server.py stdio

# Next.js API Route를 통해 통신
# (브라우저 UI에서 Stdio 탭 사용)

🔧 开发命令

后端

cd backend

# 의존성 설치
uv sync

# 개발 서버 (hot reload)
uv run uvicorn src.main:app --reload

# Stdio 서버
uv run python src/stdio_server.py stdio

# 테스트 (추후)
uv run pytest

# 린트
uv run ruff check src/

前端

cd frontend

# 의존성 설치
yarn install

# 개발 서버
yarn dev

# 프로덕션 빌드
yarn build

# 프로덕션 서버
yarn start

📝 JSON-RPC 2.0方法

通用方法

方法参数响应说明
initialize{protocolVersion, capabilities, clientInfo}{protocolVersion, serverInfo}协议初始化
echo{message: string}{message: string}消息回声
resources/list{}{resources: [...]}资源列表(仅SSE)
tools/list{}{tools: [...]}工具列表(仅SSE)

流方法(仅HTTP)

方法参数响应说明
stream{}SSE Stream每隔1秒发送5个区块

🎨 UI配置

在浏览器中 http://localhost:3000 连接时:

  1. 切换选项卡:标准/SSE/流式HTTP
  2. 控制按钮:

- 标准:热,回声 - SSE:SSE连接,Init,Echo - HTTP:Init、Echo、Stream、GET SSE连接

  1. 控制台日志:显示实时请求/响应日志

🔄 与现有项目的区别

主题mcp-client(现有)mcp-protocol(新)
后端Python http.serverFastAPI

端口SSE(8001)、HTTP(8002)、集成端口(8000) |端点| /messages, /sse | /api/sse/messages, /api/sse/stream | |类型验证|手动| Pydantic自动验证| |文档|无| Swagger UI(/docs) | 异步基于线程基于asyncio

🧪 测试

手动测试

  1. Backend运行: uv run uvicorn src.main:app --reload
  2. 启动Frontend: yarn dev
  3. 在浏览器中测试每个选项卡:

- SSE:按照连接→Init→Echo的顺序进行测试 - HTTP:Init→Echo→Stream→GET SSE连接

API测试(curl)

# SSE Initialize
curl -X POST http://localhost:8000/api/sse/messages \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":"test-1","method":"initialize","params":{"protocolVersion":"2025-06-18"}}'

# HTTP Stream
curl -N -X POST http://localhost:8000/api/http \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{"jsonrpc":"2.0","id":"stream-1","method":"stream"}'

📚 参考文档

📄 许可证

麻省理工学院

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

FastAPIPython本地部署Next.jsSSEStreamableHTTPStdioJSON-RPC

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

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

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

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

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

不太适合

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

同类对比

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

MCP World · 本页

2stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

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

常见问题

5 条

MCP Protocol 怎么安装?

公开资料给出的安装命令是 uv run uvicorn src.main:app --reload --host 0.0.0.0 --port 8000,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Protocol 怎么在 Claude Desktop、Cursor 里配置?

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

MCP Protocol 收费吗?

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

MCP Protocol 需要 API Key 吗?

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

MCP Protocol 支持哪些客户端?

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

来源信息

继续浏览同类 MCP