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アクセストークンはメモリ内でのみ保持し、期限切れ前に更新します。
- 顧客情報、書類内容、認証情報をログへ出力しません。
- 書類送付や削除のツールは実装していません。
参考資料
ライセンス
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。