Safie Engineers' Blog!

Safieのエンジニアが書くブログです

Safie API MCP Serverを公開しました

こんにちは。サーバサイドエンジニアの村田 (@naofumimurata)です。

この度、Safie API を利用するMCP (Model Context Protocol) サーバである「Safie API MCP Server」を作成・公開しました。

github.com

本記事では使い方などを簡単に紹介したいと思います。

MCPサーバとは

Model Context Protocol とは、Anthropic社が発表したアプリケーションがLLMにコンテキストを提供する方法を標準化するオープンプロトコルです。

LLMに対してMCPで機能を提供する MCPサーバ を用意することで、LLMから外部APIを呼び出してその結果をLLMに与えて判断させるといったことが可能になります。

MCPを利用できるクライアントとしては、Anthropic社が提供するClaude Desktopをはじめとして ClineやVS Code GitHub Copilot Agentなどでも利用可能です。直近だとOpenAIもMCPのサポートを発表しました。 MCPサーバ実装も既に様々なものが公開されており、多くのクライアントで多くのMCPサーバが利用できる様になってきています。

github.com

Safie API MCP Server の概要

Safie API を利用してデバイスの情報取得や操作を行う機能を提供します。 (Safie API リファレンス: https://developers.safie.link/reference/api )

現時点で提供している機能(Tools)は以下の通りです。

  • list_devices
    • デバイス一覧を取得します
  • get_device_image
    • 指定されたデバイスから画像を取得します
  • list_device_media
    • 指定されたデバイスで録画されている映像(メディア)の一覧を取得します
  • get_device_location
    • 指定されたデバイスの現在のGPS位置情報を取得します
  • get_device_thumbnail
    • 指定されたデバイスの最新サムネイルを取得します
  • list_device_standard_events
    • 指定されたデバイスの標準イベント情報一覧を取得します

詳しくは README をご参照ください。

使い方

事前準備

Safie APIを利用するにあたり、以下のドキュメント、記事を参考にSafie Developersへのディベロッパー登録とアプリケーションの作成、認証情報(OAuth2 アクセストークンまたはAPIキー)の発行を行なってください。

developers.safie.link

engineers.safie.link

認証情報発行後、Claude Desktop等のAIツールに以下の設定を追加することで、利用可能となります。(Python 3.10+, uv が手元にインストールされている必要があります)

OAuth2アクセストークンを利用する場合:

{  
  "mcpServers": {  
    "Safie API": {  
      "command": "uv",  
      "args": [  
        "run",  
        "--with",  
        "git+https://git@github.com/SafiePublic/safie-api-mcp-server.git",  
        "safie-api-mcp-server"  
      ],  
      "env": {  
        "ACCESS_TOKEN": <発行したOAuth2アクセストークン>  
      }  
    }  
  }  
}  

APIキーを利用する場合:

{  
  "mcpServers": {  
    "Safie API": {  
      "command": "uv",  
      "args": [  
        "run",  
        "--with",  
        "git+https://git@github.com/SafiePublic/safie-api-mcp-server.git",  
        "safie-api-mcp-server"  
      ],  
      "env": {  
        "API_KEY": <発行したAPIキー>  
      }  
    }  
  }  
}  

利用例

それでは、実際に使ってみた例をご紹介しましょう。今回は社内にあるオフィスコンビニの商品棚の状況についてLLMに聞いてみたいと思います。

AIツールはClaude Desktop を利用し、モデルは Claude 3.7 Sonnet を利用しました。

ちゃんとLLMがSafie API MCP Serverを実行して答えを返してくれました。

プロンプトにはあえてデバイスを特定するIDを入れなかったのですが、デバイス一覧取得(list_devices)をまず実行してオフィスコンビニに設置してあるカメラを特定し、その後、対象カメラに対して画像取得(get_device_image)を実行、取得した画像から答えを返してくれました。

まとめ

本記事では、Safie APIを利用するMCPサーバである「Safie API MCP Server」について概要と利用方法について紹介しました。

ぜひ、使ってみてください!

なお、本実装はプレビュー版であり一部の機能のみを試験的に提供しています。 サポート対象外となりますのでご了承の上、お使いください。

セーフィーではエンジニアを積極的に募集しています。どのような職種があるのか気になる方はこちらをご覧ください!

safie.co.jp

カジュアル面談から受け付けておりますので、気軽に応募いただければと思います! 皆様のご応募、心よりお待ちしております!

最後までお読みいただき、ありがとうございました

© Safie Inc.