mcpField
M
Model Context Protocol (MCP) Server

Model Context Protocol (MCP) Server

本地服务
github.com/AyushRatan1开发工具080 周前更新

关于 Model Context Protocol (MCP) Server

Model Context Protocol (MCP) Server 是一个使用 FastAPI 构建的服务,可将数值输入加倍,并支持会话管理和 API 密钥认证。README 还介绍了 Excel VBA 和 Office Scripts 集成。

主要功能

  1. 01将数值输入加倍
  2. 02使用会话 ID 管理请求状态
  3. 03可选 API 密钥认证
  4. 04集成 Excel VBA 和 Office Scripts
  5. 05CORS 中间件

适用场景

  1. 01加倍客户端发送的一组数值
  2. 02在服务运行期间跨请求保留会话状态
  3. 03从 Excel VBA 或 Office Scripts 调用端点

MCP 相关

该服务通过 /mcp/process 的 POST 端点接收数值列表并返回加倍后的结果。请求可附带 session_id 和 api_key。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

模型上下文协议(MCP)服务

一个使用 FastAPI 构建的简单 MCP 服务,可将数值输入翻倍,并支持会话管理和 API 密钥身份验证。

设置

  1. 安装所需依赖项:
pip install -r requirements.txt
  1. 启动服务:
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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。