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は、数値入力を2倍にするFastAPIサーバーで、セッション管理とAPIキー認証に対応しています。READMEではExcel VBAおよびOffice Scriptsとの連携も説明されています。

主な機能

  1. 01数値入力を2倍に変換
  2. 02セッションIDによるリクエスト状態管理
  3. 03任意のAPIキー認証
  4. 04Excel VBAとOffice Scriptsの連携
  5. 05CORSミドルウェア

活用シーン

  1. 01クライアントから送る数値リストの倍増
  2. 02サーバー稼働中のリクエスト間でのセッション状態維持
  3. 03Excel VBAまたはOffice Scriptsからのエンドポイント呼び出し

MCP 対応

サーバーは/mcp/processのPOSTエンドポイントで数値リストを受け取り、2倍の値を返します。リクエストにはsession_idとapi_keyを含められます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Model Context Protocol (MCP) サーバー

FastAPI で構築されたシンプルな MCP サーバーです。数値入力を処理して各値を 2 倍にします。また、セッション管理と API キー認証に対応しています。

セットアップ

  1. 必要な依存関係をインストールします。
pip install -r requirements.txt
  1. サーバーを起動します。
uvicorn main:app --reload

サーバーは http://localhost:8000 で実行されます。

API エンドポイント

POST /mcp/process

数値入力のリストを処理し、各値を 2 倍にします。

リクエストボディ:

{
  "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 ミドルウェアが含まれており、ウェブベースの Excel クライアントからのクロスオリジンリクエストを許可します
  • セッションの状態はメモリに保存され、サーバーを再起動すると失われます
  • 本番環境では、セッションの保存にデータベースを使用し、適切な認証を導入することを検討してください

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。