关于 Model Context Protocol (MCP) Server
Model Context Protocol (MCP) Server 是一个使用 FastAPI 构建的服务,可将数值输入加倍,并支持会话管理和 API 密钥认证。README 还介绍了 Excel VBA 和 Office Scripts 集成。
主要功能
- 01将数值输入加倍
- 02使用会话 ID 管理请求状态
- 03可选 API 密钥认证
- 04集成 Excel VBA 和 Office Scripts
- 05CORS 中间件
适用场景
- 01加倍客户端发送的一组数值
- 02在服务运行期间跨请求保留会话状态
- 03从 Excel VBA 或 Office Scripts 调用端点
MCP 相关
该服务通过 /mcp/process 的 POST 端点接收数值列表并返回加倍后的结果。请求可附带 session_id 和 api_key。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
模型上下文协议(MCP)服务
一个使用 FastAPI 构建的简单 MCP 服务,可将数值输入翻倍,并支持会话管理和 API 密钥身份验证。
设置
- 安装所需依赖项:
pip install -r requirements.txt
- 启动服务:
uvicorn main:app --reload
服务将在 http://localhost:8000 运行。
API 端点
POST /mcp/process
将数值输入列表中的每个值翻倍。
请求正文:
{
"inputs": [1.0, 2.0, 3.0]
}
请求头(可选):
session_id:用于在请求之间保持状态api_key:用于身份验证(演示密钥:"demo_key")
响应:
{
"outputs": [2.0, 4.0, 6.0],
"session_id": "generated-session-id"
}
Excel VBA 集成
你可以使用以下 VBA 代码从 Excel 集成 MCP 服务:
Sub CallMCPServer()
' Define the input range
Dim inputRange As Range
Set inputRange = Range("A1:A3")
' Create an HTTP request
Dim request As Object
Set request = CreateObject("MSXML2.XMLHTTP")
' Prepare JSON data
Dim jsonData As String
jsonData = "{""inputs"": ["
Dim cell As Range
Dim first As Boolean
first = True
For Each cell In inputRange
If Not first Then
jsonData = jsonData & ", "
End If
jsonData = jsonData & cell.Value
first = False
Next cell
jsonData = jsonData & "]}"
' Send the request
request.Open "POST", "http://localhost:8000/mcp/process", False
request.setRequestHeader "Content-Type", "application/json"
request.send jsonData
' Handle the response
If request.Status = 200 Then
Dim response As Object
Set response = ParseJson(request.responseText)
' Display the outputs
Dim outputStr As String
outputStr = "Processed outputs: " & vbCrLf
Dim i As Integer
For i = 1 To response.Item("outputs").Count
outputStr = outputStr & response.Item("outputs").Item(i) & vbCrLf
Next i
MsgBox outputStr, vbInformation, "MCP Server Response"
' Optionally store the session ID for future requests
Dim sessionId As String
sessionId = response.Item("session_id")
Else
MsgBox "Error: " & request.Status & " - " & request.responseText, vbExclamation
End If
End Sub
Function ParseJson(jsonString As String) As Object
' This is a simplified JSON parser for demo purposes
' For production use, consider a proper JSON library
Dim ScriptEngine As Object
Set ScriptEngine = CreateObject("ScriptControl")
ScriptEngine.Language = "JScript"
Dim JsonCode As String
JsonCode = "JSON.parse('" & Replace(jsonString, "'", "\'") & "');"
Set ParseJson = ScriptEngine.Eval(JsonCode)
End Function
对于使用 Office Scripts 的现代 Excel,你可以使用 JavaScript/TypeScript 和 fetch API 向 MCP 服务发送 HTTP 请求。
注意事项
- 服务包含 CORS 中间件,允许来自基于 Web 的 Excel 客户端的跨域请求
- 会话状态存储在内存中,服务重启后将丢失
- 用于生产环境时,请考虑使用数据库存储会话,并采用适当的身份验证方式
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。