Pharus MCP
Pharus MCP
Pharusエコシステムにおける調査サービスの統合的な発見とクエリのためのPython MCP(Model Context Protocol)サーバー。デカップルされたサービスアーキテクチャを通じて、RIF、SIMBA、Telefônica、Telemática、KYT、およびグラフデータを分析するための専門ツールを提供します。
特徴
サービス発見: メタデータと使用例を含む調査サービスのセマンティックカタログ
MCPプロトコル: HTTP Streamable上でのModel Context Protocolの完全実装
複数のデータソース: RIF、SIMBA、Telefônica、Telemática、KYT、グラフとの統合
財務分析: 取引や資金移動の調査のための専門的な分析ツール
グラフアルゴリズム: グラフメタデータに基づいたアルゴリズムの自動提案を行うセマンティックカタログ
自動ドキュメント: アクセス可能なHTTPルートを備えたSwagger UIおよびOpenAPI
柔軟な設定: 環境変数およびサービスごとの設定をサポート
前提条件
Python 3.12+
pip (Pythonパッケージマネージャー)
PowerShell 5.1+ (Windowsの場合) または bash (Linux/macOSの場合)
アップストリームサービス: RIF、SIMBA、Telefônica、Telemática、KYT、グラフ(必要に応じて)
インストール
1. 仮想環境の設定
virtualenvを作成して有効化します:
python -m venv .venv
.\.venv\Scripts\Activate.ps1Linux/macOSの場合:
python3 -m venv .venv
source .venv/bin/activate2. 依存関係のインストール
python -m pip install --upgrade pip
python -m pip install -e .[dev]3. 環境変数の設定
サンプルファイルをコピーします(オプション):
Copy-Item .env.example .env環境に合わせて.envの各サービスのベースURLを編集します:
HOST=127.0.0.1
PORT=8000
LOG_LEVEL=INFO
GRAFO_API_URL=http://localhost:8001
RIF_API_URL=http://localhost:8082
SIMBA_API_URL=http://localhost:8003
TELEFONICA_API_URL=http://localhost:8004
TELEMATICA_API_URL=http://localhost:8005
KYT_API_URL=http://localhost:8006設定
サポートされている環境変数:
変数 | 説明 | デフォルト |
| サーバーバインド用IPアドレス |
|
| HTTPポート |
|
| ログレベル (DEBUG, INFO, WARNING, ERROR) |
|
| グラフサービスのベースURL |
|
| RIFサービスのベースURL |
|
| SIMBAサービスのベースURL |
|
| TelefônicaサービスのベースURL |
|
| TelemáticaサービスのベースURL |
|
| KYTサービスのベースURL |
|
| MCPプロトコル用HTTPパス |
|
| HTTPドキュメント用パス |
|
実行
MCPサーバーの起動 (HTTP経由)
方法1: Pythonモジュール経由 (推奨)
.\.venv\Scripts\python -m pharus_mcp --transport http --host 127.0.0.1 --port 8000方法2: 起動スクリプト経由
.\.venv\Scripts\python .\scripts\start_server.py方法3: ショートカット経由 (-e .[dev] インストール後)
pharus-start-serverアップストリームサービスの管理
RIF、SIMBA、Telefônica、Telemática、KYT、グラフの起動:
.\.venv\Scripts\python .\scripts\start_services.pyデフォルトのタイムアウト60秒で起動を待機します。
プロセスを開始せずに接続を確認:
.\.venv\Scripts\python .\scripts\start_services.py --check-onlyカスタムタイムアウトと厳格モードの設定:
.\.venv\Scripts\python .\scripts\start_services.py --timeout 90 --strict全サービスの停止 (Windows):
.\.venv\Scripts\python .\scripts\stop_services.py終了せずにPIDをリストアップ (ドライラン):
.\.venv\Scripts\python .\scripts\stop_services.py --dry-runサーバーへのアクセス
利用可能なHTTPルート
MCPプロトコルは /mcp エンドポイントで動作します(ブラウザフレンドリーではありません)。検査および検証用:
ルート | 説明 |
|
|
| サーバーのヘルスチェック |
| インタラクティブなSwagger UI |
| 完全なOpenAPI仕様 |
| 調査サービスカタログ |
| 登録済みMCPツールリスト |
| MCPプロンプトリスト |
| セマンティックリソースリスト |
| 特定のリソースの内容 |
| MCPエンドポイント (HTTP上のMCPプロトコル) |
例:
# Health check
curl http://127.0.0.1:8000/health
# Catálogo de serviços
curl http://127.0.0.1:8000/docs/services
# Detalhe de um serviço (RIF)
curl 'http://127.0.0.1:8000/docs/resource?uri=pharus://services/rif'サービスカタログ
利用可能なサービス
Grafo - ケースグラフ、ラベル、KYT、アルゴリズムを用いた関係分析
KYT - 文書、メール、電話番号による人物のエンリッチメント
RIF - 取引や統計を含む金融インテリジェンスレポートの分析
SIMBA - 銀行口座および資金移動の照会
Telefônica - CDR、場所、ポータビリティを用いた電話分析
Telemática - メッセージングアプリおよび連絡先の分析
各サービスは、専門的なツールセットと推奨される使用法のセマンティックカタログを公開しています。
開発
プロジェクト構造
pharus-mcp/
├── src/pharus_mcp/
│ ├── adapters/ # Adaptadores para serviços upstream (RIF, SIMBA, etc.)
│ ├── catalog/ # Catálogo semântico de serviços e algoritmos
│ ├── config/ # Configuração e settings
│ ├── models/ # Modelos de dados (Pydantic)
│ ├── server/ # Servidor FastAPI e registro MCP
│ ├── app.py # Aplicação FastAPI principal
│ ├── cli.py # Interface de linha de comando
│ ├── commands.py # Comandos e orquestração
│ └── __main__.py # Ponto de entrada
├── tests/ # Suite de testes
├── scripts/ # Scripts auxiliares de inicialização
├── pyproject.toml # Configuração Poetry/pip
└── README.md # Este arquivoテストの実行
.\.venv\Scripts\python -m pytest詳細表示:
.\.venv\Scripts\python -m pytest -v特定のテストを実行:
.\.venv\Scripts\python -m pytest tests/test_catalog.py::test_catalog_contains_expected_services -v手動スモークテスト (HTTP)
PowerShell:
$headers = @{ Accept = "application/json" }
Invoke-WebRequest -Uri "http://127.0.0.1:8000/health" -Headers $headers -Method GET
Invoke-WebRequest -Uri "http://127.0.0.1:8000/docs/services" -Headers $headers -Method GET
Invoke-WebRequest -Uri "http://127.0.0.1:8000/docs/resource?uri=pharus://services/rif" -Headers $headers -Method GETbash/curl:
curl -s http://127.0.0.1:8000/health | jq .
curl -s http://127.0.0.1:8000/docs/services | jq .
curl -s 'http://127.0.0.1:8000/docs/resource?uri=pharus://services/rif' | jq .プロジェクトの依存関係
pyproject.toml に記載されている主な依存関係:
fastapi - 非同期Webフレームワーク
httpx - 非同期HTTPクライアント
pydantic - データバリデーション
mcp - Model Context Protocol
sqlalchemy - ORM (該当する場合)
pytest - テストフレームワーク
python-dotenv - .envサポート
貢献
貢献を歓迎します!以下の手順に従ってください:
リポジトリをフォークする
フィーチャーブランチを作成する (
git checkout -b feature/nova-funcionalidade)変更をコミットする (
git commit -am '新しい機能を追加')ブランチにプッシュする (
git push origin feature/nova-funcionalidade)プルリクエストを開く
コーディング標準
型ヒント付きのPython 3.12+を使用すること
PEP 8標準に従うこと (
blackやautopep8などのツールでフォーマット)関数やクラスはポルトガル語のdocstringでドキュメント化すること
新機能にはユニットテストを書くこと
トラブルシューティング
エラー: "not a git repository"
git init でリポジトリを初期化してください。
エラー: アップストリームサービス呼び出し時の "Connection refused"
.env のURLが正しいか、サービスが期待されるポートでアクティブかを確認してください。
エラー: "Port already in use"
.env でポートを変更するか、コマンドラインで --port を使用してください。
テスト失敗
アップストリームサービスが実行されているか確認してください。診断には --check-only を使用してください:
.\.venv\Scripts\python .\scripts\start_services.py --check-onlyライセンス
このプロジェクトは MIT ライセンスの下にあります。詳細は LICENSE ファイルを参照してください。
著者およびメンテナー
MPMGテクノロジーチームによって開発
質問、提案、バグ報告については、GitHubリポジトリでIssueを開いてください。
最終更新: 2026年4月 バージョン: 1.0.0 ステータス: アクティブ
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Brazilian Federal Senate open data (legislative, administrative, e-Cidadania).
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
An MCP server for deep research or task groups
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rfalexandre/pharus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server