makeleaps-mcp
Unofficial MCP server to operate MakeLeaps clients, quotes, and invoices from LLMs via the MakeLeaps API, with local execution and no telemetry.
README
makeleaps-mcp
MakeLeapsの取引先、見積書、請求書をLLMから操作するための、非公式・ローカル実行専用MCPサーバーです。
HubSpotなど他サービスとの接続処理は含みません。LLMクライアントがHubSpot ConnectorとこのMCPサーバーを同時に利用し、必要な情報をツール間で受け渡す構成を想定しています。
[!IMPORTANT] このプロジェクトはMakeLeaps株式会社による公式製品ではありません。MakeLeaps APIを利用した実装について、MakeLeapsは技術サポートを提供していません。
特徴
- stdioによるローカル実行のみ
- ホステッドサービス、リモートHTTP、テレメトリーなし
- MakeLeapsの認証情報と請求データを開発者側へ送信しない
- 金額を浮動小数点数ではなく
Decimalとして検証 - MakeLeapsのテンプレートに応じた税区分の検証
- ローカルSQLiteを用いた書き込み操作の二重実行防止
- 書類の送付機能は提供しない
利用者向け
提供ツール
| ツール | 内容 |
|---|---|
search_clients |
取引先の一覧取得・検索 |
get_client |
取引先とデフォルト連絡先の取得 |
create_organization_client |
法人取引先の作成 |
list_document_templates |
見積書・請求書テンプレートの取得 |
search_documents |
見積書・請求書の検索 |
get_document |
書類詳細の取得 |
create_quote |
見積書の作成 |
create_invoice |
請求書の作成 |
create_quoteとcreate_invoiceは書類をMakeLeapsへ保存しますが、取引先への送付は行いません。
HubSpotのDeal名など、書類の案件名はproject_nameで指定できます。
create_organization_clientでは法人名に加えて、法人のメールアドレス・電話番号・FAX番号・住所・適格請求書発行事業者登録番号と、任意の担当者を登録できます。住所を指定する場合は、MakeLeaps APIの仕様に従ってformatと2文字の国コードcountry_nameが必須です。
書類には取引先向けの備考messageとは別に、MakeLeaps内だけで使用する社内メモnoteと発注番号purchase_order_idsを設定できます。create_invoiceでは請求対象期間も指定できます。
必要環境
- Python 3.12以上
- uv
- MakeLeapsのAPI Client ID、Client Secret、Partner MID
MakeLeapsの管理画面からAPIキーを発行してください。APIは本番データへ接続され、サンドボックス環境は提供されていません。
セットアップ
git clone https://github.com/Swandive-Inc/makeleaps-mcp.git
cd makeleaps-mcp
uv sync --frozen
次の環境変数をMCPクライアントから渡します。
| 環境変数 | 必須 | 内容 |
|---|---|---|
MAKELEAPS_CLIENT_ID |
はい | MakeLeaps API Client ID |
MAKELEAPS_CLIENT_SECRET |
はい | MakeLeaps API Client Secret |
MAKELEAPS_PARTNER_MID |
はい | MakeLeaps Partner MID |
MAKELEAPS_STATE_PATH |
いいえ | 冪等性管理用SQLiteファイルの保存先 |
MAKELEAPS_STATE_PATHを省略した場合は、OS標準のユーザーデータディレクトリへ保存します。認証トークンや書類本文はSQLiteへ保存しません。
MCPクライアントの設定例です。パスと認証情報を利用環境に合わせて変更してください。
{
"mcpServers": {
"makeleaps": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\makeleaps-mcp",
"run",
"makeleaps-mcp"
],
"env": {
"MAKELEAPS_CLIENT_ID": "your-client-id",
"MAKELEAPS_CLIENT_SECRET": "your-client-secret",
"MAKELEAPS_PARTNER_MID": "your-partner-mid"
}
}
}
}
秘密情報を.envやMCPクライアントの設定ファイルへ保存する場合は、ファイルのアクセス権とバックアップ先を確認してください。秘密情報をGitへコミットしないでください。
LLMへの依頼例
HubSpotのDeal 12345を取得し、会社と担当者をMakeLeapsで検索してください。
見積内容を提示して私の確認を取ったあと、MakeLeapsへ見積書を作成してください。
送付はしないでください。
利用上の注意
- HubSpotのIDを
external_idへ保存する場合は、既存運用で同フィールドを使っていないか確認してください。すでに別システムとの対応付けに利用している場合は上書きしないでください。 - APIへの送信後に通信が切れた場合は、MakeLeaps上で作成結果を確認してください。
開発者向け
二重作成の防止
書き込みツールはoperation_keyを必須引数とし、呼び出し元と対象を識別できる安定した値を受け取ります。
hubspot:deal:12345:quote:v1
同じキーと同じ入力を再実行すると、MakeLeaps APIを再度呼ばず、ローカルSQLiteに保存した結果を返します。同じキーを異なる入力で再利用した場合はエラーになります。
APIへの送信後に通信が切れた場合は、結果が確定できないため同じ操作を自動再実行しません。通信結果が不明なまま書類を二重作成することを防ぐためです。
開発
uv sync --frozen
uv run ruff format --check .
uv run ruff check .
uv run pytest
テストはMakeLeaps APIをモックし、本番アカウントへ接続しません。
セキュリティ
- MCPサーバーはstdioのみで動作し、待受ポートを開きません。
- APIアクセストークンはメモリ内でのみ保持し、期限切れ前に更新します。
- 顧客情報、書類内容、認証情報をログへ出力しません。
- 書類送付や削除のツールは実装していません。
参考資料
ライセンス
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.