Skip to main content
Glama

SME Copilot MCP Server

by usagi917
plan.md8.08 kB
# プロダクト計画書: SME Copilot – 経営アクションレポート自動生成システム(AIウェブ検索版) ## 1. プロダクト概要 ### 名称(仮) SME Copilot – 経営アクションレポート自動生成システム ### コンセプト 「法人番号がなくても、社名と所在地だけで税務チェック・統計コメント・補助金候補・アクションリストを自動生成する“中小企業向け経営OS”」 ### 対象ユーザー - 税理士・会計事務所(メイン) - 中小企業経営者 - 中小企業診断士 ### MVPのゴール 1. 社名と所在地(法人番号は任意)を入力 2. MCPツールがウェブ検索+LLM要約で企業プロファイルを取得(出典URL付き) 3. 法令条文と地域統計を組み合わせ、LLMがA4 1枚のアクションレポートを返す ## 2. 使用API(MVP) ### 2-1. ウェブ検索+LLM(汎用検索API) - Bing Web Search / SerpAPI / OpenAIブラウジング等を切り替え可能にする - 社名・所在地をキーに企業プロファイルを要約取得 ### 2-2. 法令API(デジタル庁) - 税法(所得税法・法人税法など)の条文取得 - 条・項・号単位で取得し、LLMに渡す ### 2-3. e-Stat API(総務省・政府統計) - 地域×産業の基礎統計(事業所数・従業者数) - 経営レポートの簡易コメント材料として使用 ## 3. 全体アーキテクチャ(MVP構成) ### 3-1. 構成図(テキスト) ユーザー → ChatGPT(MCP接続) → MCPサーバ(Node.js) → 外部API(検索API / 法令API / e-Stat) → LLMで統合 → レポート生成(テキスト or PDF) ### 3-2. MCPサーバの役割 - APIごとの複雑な処理を隠蔽 - LLMが1回の会話で複数ツールを組み合わせられるようにする - レスポンスはJSONで返し、LLM側でレポート組み立て ## 4. 機能要件(MVP) ### F-1 企業プロファイル取得(法人番号なしで可) - **入力**: 社名(必須)、所在地またはドメイン(任意)、法人番号(任意) - **処理**: 汎用ウェブ検索→LLM要約→候補提示→出典URL付与 - **出力**: 商号、所在地、法人格、公式サイトURL、法人番号(取得できた場合)、取得日時、出典URL ### F-2 法令条文取得 - **入力**: 法令名 or lawID、条番号、項番号 - **処理**: 法令API - **出力**: 条文原文テキスト、階層情報(条/項/号) - **対象法令(初期)**: 法人税法、所得税法、消費税法 ### F-3 地域統計の取得 - **入力**: 都道府県コード or 名称、産業分類コード - **処理**: e-Stat API - **出力**: 事業所数、従業者数、年度 ### F-4 LLMによるレポート生成 - **入力**: 企業プロファイル、法令条文、地域統計 - **出力**: 今月の税務リスク、関連条文要約、地域産業動向コメント、補助金・支援策案、アクションリスト(5〜10項目) ### F-5 PDFエクスポート(任意) - MVPではテキスト優先。後続でPDF出力を追加。 ## 5. 非機能要件(MVP) ### N-1 性能 - 1リクエストあたり5秒以内を目標(検索APIとLLMレスポンスに依存) ### N-2 保守性 - APIクライアントを分離(検索 / 法令 / e-Stat) - MCPツールとクライアントを疎結合化 ### N-3 拡張性 - 検索プロバイダを差し替えられるインタフェースを用意 - 将来のAPI追加(ミラサポ、官公需、EDINETなど)を想定 ### N-4 プライバシー/コンプライアンス - PIIはログ出力しない - 検索結果キャッシュは短期TTLで保持し、ユーザー承認後のみ永続化 ## 6. MCP ツール仕様(MVP) ### 6-1 lookup_company **ウェブ検索+LLM要約** - **入力**: ```json { "company_name": "株式会社〇〇", "address": "東京都千代田区…", "force_refresh": false } ``` - **出力**: ```json { "name": "株式会社〇〇", "address": "東京都千代田区…", "legal_form": "株式会社", "corporate_number": "1234567890123", // 取得できた場合のみ "website": "https://example.co.jp", "sources": ["https://example.com/page"], "fetched_at": "2025-12-03T01:23:45Z" } ``` ### 6-2 get_law_article **法令API** - **入力**: ```json { "law_name": "法人税法", "article": "34", "paragraph": "1" } ``` - **出力**: ```json { "law_name": "法人税法", "article": "34", "paragraph": "1", "text": "(条文原文)" } ``` ### 6-3 get_region_stats **e-Stat API** - **入力**: ```json { "prefecture": "石川県", "sector_code": "E" } ``` - **出力**: ```json { "establishments": 3200, "employees": 23400, "year": 2023 } ``` ## 7. データ項目定義 ### 7-1 企業プロファイル | 項目 | 型 | 説明 | | --- | --- | --- | | name | string | 商号 | | address | string | 所在地 | | legalForm | string | 法人格 | | corporateNumber | string | 取得できた場合のみ | | website | string | 公式サイトURL | | sources | string[] | 出典URLの配列 | | fetchedAt | string | ISO8601取得日時 | ### 7-2 条文データ | 項目 | 型 | 説明 | | --- | --- | --- | | lawName | string | 法令名 | | article | string | 条番号 | | paragraph | string | 項番号 | | text | string | 条文原文 | ### 7-3 統計データ | 項目 | 型 | 説明 | | --- | --- | --- | | region | string | 地域名 | | establishments | number | 事業所数 | | employees | number | 従業者数 | | year | number | 年度 | ## 8. 画面仕様(任意) - 初期は不要。必要なら以下を想定: - 入力フォーム: 社名、所在地、業種、任意の法人番号 - 出力: レポートテキスト、出典リンク、PDF出力(将来) ## 9. 出力レポート仕様(A4 1枚) 1. 顧問先情報(社名・所在地・法人格・法人番号(任意)・出典) 2. 今月の税務リスク(要点3〜5件) 3. 関連条文(抜粋+要約) 4. 地域産業動向(統計+LLMコメント) 5. 補助金・支援策(簡易候補) 6. 今月やるべきアクションリスト(5〜10項目) ## 10. 処理フロー 1. ChatGPTから「◯◯株式会社の今月レポート」と依頼 2. LLM → MCPの `lookup_company` でプロファイル取得(ウェブ検索) 3. LLM → `get_law_article` を複数呼び条文収集 4. LLM → `get_region_stats` で地域統計取得 5. 取得データをLLMが統合しレポート生成 6. ユーザーにテキスト or PDFとして返却 ## 11. 制約・前提 - 検索APIのレート制限あり - 法令APIはXML形式のためJSONへ整形が必要 - 税務判断は情報提供レベルにとどめ、免責を明記 - 検索結果には誤情報が含まれる可能性があるため、出典URL提示とユーザー承認を必須にする ## 12. 次に作るべき実装リスト(タスク分解) ### タスク1 検索プロバイダ抽象化 - Bing / SerpAPI / OpenAIブラウジングを切り替えるIFを用意 - `.env`でプロバイダとAPIキーを設定できるようにする ### タスク2 `lookup_company` ツール - 検索→スクレイプ要約→候補マージ→JSON整形 - 取得結果に出典URLと取得日時を付与 - 短期キャッシュ(メモリ or SQLite)を実装 ### タスク3 法令APIクライアント - 条文取得、XMLパース、条/項/号の整形 ### タスク4 e-Stat APIクライアント - 都道府県→統計コード変換 - 事業所数・従業者数取得 ### タスク5 レポート生成プロンプト - 企業プロファイル+条文+統計を入力にA4テンプレで出力 - 出典URLと免責文を付ける ### タスク6 エンドツーエンド動作確認 - `npm run build` → `npx ts-node test_script.ts` で主要ツールを呼び出すシナリオテスト

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/usagi917/bizintel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server