Skip to main content
Glama
rfalexandre
by rfalexandre

Pharus MCP

Python 3.12+ FastAPI Model Context Protocol

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.ps1

Linux/macOSの場合:

python3 -m venv .venv
source .venv/bin/activate

2. 依存関係のインストール

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

設定

サポートされている環境変数:

変数

説明

デフォルト

HOST

サーバーバインド用IPアドレス

127.0.0.1

PORT

HTTPポート

8000

LOG_LEVEL

ログレベル (DEBUG, INFO, WARNING, ERROR)

INFO

GRAFO_API_URL

グラフサービスのベースURL

http://localhost:8001

RIF_API_URL

RIFサービスのベースURL

http://localhost:8082

SIMBA_API_URL

SIMBAサービスのベースURL

http://localhost:8003

TELEFONICA_API_URL

TelefônicaサービスのベースURL

http://localhost:8004

TELEMATICA_API_URL

TelemáticaサービスのベースURL

http://localhost:8005

KYT_API_URL

KYTサービスのベースURL

http://localhost:8006

MCP_STREAMABLE_HTTP_PATH

MCPプロトコル用HTTPパス

/mcp

DOCS_PATH

HTTPドキュメント用パス

/docs

実行

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 エンドポイントで動作します(ブラウザフレンドリーではありません)。検査および検証用:

ルート

説明

/

/docs へリダイレクト

/health

サーバーのヘルスチェック

/docs

インタラクティブなSwagger UI

/docs/openapi.json

完全なOpenAPI仕様

/docs/services

調査サービスカタログ

/docs/tools

登録済みMCPツールリスト

/docs/prompts

MCPプロンプトリスト

/docs/resources

セマンティックリソースリスト

/docs/resource?uri=...

特定のリソースの内容

/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'

サービスカタログ

利用可能なサービス

  1. Grafo - ケースグラフ、ラベル、KYT、アルゴリズムを用いた関係分析

  2. KYT - 文書、メール、電話番号による人物のエンリッチメント

  3. RIF - 取引や統計を含む金融インテリジェンスレポートの分析

  4. SIMBA - 銀行口座および資金移動の照会

  5. Telefônica - CDR、場所、ポータビリティを用いた電話分析

  6. 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 GET

bash/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サポート

貢献

貢献を歓迎します!以下の手順に従ってください:

  1. リポジトリをフォークする

  2. フィーチャーブランチを作成する (git checkout -b feature/nova-funcionalidade)

  3. 変更をコミットする (git commit -am '新しい機能を追加')

  4. ブランチにプッシュする (git push origin feature/nova-funcionalidade)

  5. プルリクエストを開く

コーディング標準

  • 型ヒント付きのPython 3.12+を使用すること

  • PEP 8標準に従うこと (blackautopep8 などのツールでフォーマット)

  • 関数やクラスはポルトガル語の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 ステータス: アクティブ

Install Server
F
license - not found
C
quality
Not graded
maintenance - not tested

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

View all MCP Connectors

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/rfalexandre/pharus-mcp'

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