kickflow Tech Blog

株式会社kickflowのプロダクト開発本部によるブログ

kickflowの公式MCPサーバーを公開しました

こんにちは、CTO の小林です。

最近、AI エージェントの活用が企業の業務効率化において重要なトピックとなっています。特に Claude や GPT などの大規模言語モデル(LLM)を活用したエージェントは、様々な業務タスクを自動化する可能性を秘めています。

そこで今回は、kickflow の API を AI エージェントから簡単に利用できるようにするため、Model Context Protocol(MCP)に対応したサーバーを開発しました。この記事では、MCP の概要と、kickflow 公式 MCP サーバーの開発について紹介します。

MCP とは?

modelcontextprotocol.io

Model Context Protocol(MCP)は、AI モデルとツールやリソースを提供するサーバーとの間の通信を標準化するプロトコルです。Anthropic 社が中心となって開発されており、Claude Desktop や Cursor などの AI エージェントが外部のシステムやデータにアクセスするための共通インターフェースを提供します。

MCP を活用することで、AI エージェントは単なるテキスト生成だけでなく、実際のシステムと連携して具体的なタスクを実行できるようになります。例えば、データベースの検索、API の呼び出し、ファイルの操作など、様々な操作が可能になります。

最近では、MCP の普及が急速に進んでおり、多くの企業が公式 MCP サーバーを公開するようになってきています。また、サードパーティによる MCP サーバーも数多く公開されており、GitHub や npm などのプラットフォームでは、SaaS 連携、データベース連携、ファイル操作、Web スクレイピングなど、様々な機能を提供する MCP サーバーが日々増加しています。この流れは、AI エージェントのエコシステムがより豊かになり、実用的なアプリケーションが増えていくことを示しています。

@kickflow/mcp-server の紹介

こうした流行もあり、kickflow でも MCP に対応したサーバーを開発することにしました。kickflow の公式 MCP サーバーは、@kickflow/mcp-server という名前で npm に公開されています。

github.com

@kickflow/mcp-server は、従来から提供している kickflow の開発者向け REST API を AI エージェントから簡単に利用できるようにするためのサーバーです。このサーバーを使用することで、Claude Desktop などの AI エージェントから kickflow の様々な機能にアクセスできるようになります。kickflow の REST API は、チケット操作、ユーザー管理、組織図管理、汎用マスタ管理など多岐にわたる機能を提供しており、MCP サーバーを通じてこれらの機能を AI エージェントから利用できるようにすることで、業務の効率化や自動化が期待できます。

これらの機能を MCP 経由で提供することで、例えば以下のようなシナリオが実現可能になります:

  • AI アシスタントが直接 kickflow にチケットを作成
  • AI アシスタントに自分のところに来ている承認リクエスト一覧から優先度の高いものをピックアップして提示してもらう
  • チケットの承認や差し戻しを AI が支援
  • 組織図の更新を AI が自動で行う

サーバーは TypeScript で実装されており、npm パッケージとして公開されています。セットアップ方法は簡単で、kickflow にログインしてアクセストークンを発行したあと、MCP サーバーの構成ファイルに以下のような記述を追記するだけです。事前にPCにNode.jsをインストールしておくのが必要なのでご注意ください。

// Mac版の場合。Windows版の設定は、公式GitHubのREADMEを参照してください。
{
  "mcpServers": {
    "kickflow": {
      "command": "npx",
      "args": ["-y", "@kickflow/mcp-server"],
      "env": {
        "KICKFLOW_ACCESS_TOKEN": "your-kickflow-access-token"
      }
    }
  }
}

開発に使用したもの

MCP TypeScript SDK

github.com

MCP サーバーの開発には、公式の MCP TypeScript SDK を使用しました。この SDK は、MCP プロトコルに準拠したサーバーを簡単に実装するためのライブラリです。 この SDK は以下のような機能を提供しています。

  • 任意のMCPサーバーに接続できるMCPクライアントを構築する
  • リソース、プロンプト、ツールを公開するMCPサーバーを作成する
  • stdioやStreamable HTTPなどの標準トランスポートを使用する
  • すべてのMCPプロトコルメッセージとライフサイクルイベントを処理する

SDK を使用することで、プロトコルの詳細を気にすることなく、ビジネスロジックに集中して開発を進めることができました。

Orval

orval.dev

kickflow の API クライアントの生成には、Orval を使用しました。Orval は OpenAPI スキーマから TypeScript の API クライアントを自動生成するライブラリです。 OpenAPI スキーマから API クライアントを自動生成するライブラリには、openapi-generator-cliopenapi-typescript などもありますが、Orval の生成するコードは特に型安全性が高いのと、MCP TypeScript SDK に渡すための Zod スキーマの生成も同時にできるため、Orval を選択しました。

kickflow の REST API は元々 OpenAPI スキーマを提供していたため、Orval を使用することで、API クライアントの実装コストを大幅に削減できました。また、型情報が自動生成されるため、コード補完や型チェックの恩恵を受けながら開発を進めることができました。型チェックの恩恵は、次に紹介する Cline を使った実装時にも大いに役立ちました。

Cline

github.com

kickflow では、開発効率を向上させるための AI コーディングアシスタントとして Cline を積極的に活用しており、今回の MCP サーバー開発でもその力を借りました。Cline は、特に定型的なコード生成や既存コードの理解に基づいた提案に優れており、開発プロセスを大幅にスピードアップさせることができます。

具体的には、OpenAPI スキーマから Orval で API クライアントを自動生成した後でも、MCP サーバーのツールとして公開する際には、それぞれの API をラップするボイラープレートなコードを記述する必要がありました。このような定型的な実装作業を Cline に任せることで、開発時間を大幅に短縮できました。Orval が生成する API クライアントが型安全であるため、Cline がその型情報を活用して精度の高いコードを生成できる点も、非常に効率的でした。

今後、kickflow の REST API に新しい機能が追加された場合でも、Orval による API クライアントの自動生成と、Cline のような AI コーディングエージェントによるボイラープレートコードの自動生成を組み合わせることで、開発コストを低く抑えながら迅速に MCP サーバーへ反映できると期待しています。

終わりに

kickflow の公式 MCP サーバーの紹介と、開発に使用したものについて紹介しました。 MCP サーバー自体はまだまだ開発者を中心に利用されており、一般の方にはあまり知られていないかもしれませんが、AI エージェントがより日常の業務に普及するかもしれない未来に備えて、kickflow では今後も MCP サーバーの機能を随時アップデートしていく予定です。

今後は、より多くの kickflow 機能を MCP 経由で提供するとともに、実際のユースケースに基づいた改善を進めていきたいと考えています。また、ユーザーの皆様からのフィードバックも積極的に取り入れながら、より使いやすい MCP サーバーを目指していきます。

kickflow では、このような AI を活用したプロダクトや技術に興味があるエンジニアを募集しています!

herp.careers