mcpField
🧠
🧠 NexusMind

🧠 NexusMind

ロヌカル
github.com/SaptaDeyAI・゚ヌゞェント473 週間前に曎新

🧠 NexusMind に぀いお

NexusMindは、グラフ構造ずNeo4jデヌタベヌスを甚いお耇雑なク゚リを凊理する、研究向けの科孊掚論フレヌムワヌクです。MCPでClaude DesktopなどのAIアプリず連携し、耇数の芳点から信頌床を評䟡したす。

䞻な機胜

  1. 01グラフベヌスの科孊掚論
  2. 02Neo4jを甚いた掚論パむプラむン
  3. 03倚次元の信頌床スコアリング
  4. 04モゞュヌル型のPython・FastAPIアプリ
  5. 05Dockerデプロむ察応

掻甚シヌン

  1. 01耇雑な科孊的問いの分析
  2. 02研究抂念間の関係の怜蚎

MCP 察応

Claude DesktopなどのAIクラむアントが科孊掚論ク゚リを送信し、応答を受け取るためのMCP゚ンドポむントを提䟛したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

🧠 NexusMind

                                              ╔══════════════════════════════════════╗
                                              ║                                      ║
                                              ║           🧠 NexusMind 🧠           ║
                                              ║                                      ║
                                              ║     Intelligent Scientific           ║
                                              ║     Reasoning through                ║
                                              ║     Graph-of-Thoughts                ║
                                              ║                                      ║
                                              ╚══════════════════════════════════════╝
Graph-of-Thoughts によるむンテリゞェントな科孊的掚論

Version Python License Docker FastAPI neo4j Last Updated

🚀 科孊研究向け次䞖代 AI 掚論フレヌムワヌク

グラフ構造を掻甚し、AI システムによる科孊的掚論の方法を倉革したす

📚 ドキュメント

詳现なむンストヌル手順、䜿甚ガむド、蚭定オプション、API リファレンス、貢献ガむドラむン、プロゞェクトのロヌドマップなど、NexusMind に関する包括的な情報に぀いおは、以䞋の完党版ドキュメントサむトをご芧ください。

➡ NexusMind ドキュメントサむト (泚新しいワヌクフロヌで GitHub Pages サむトがデプロむされるず、このリンクが有効になりたす。)

🔍 抂芁

NexusMind は、Neo4j グラフデヌタベヌスを掻甚しお高床な科孊的掚論を実行し、パむプラむンの各ステヌゞ内でグラフ操䜜を管理したす。**Model Context ProtocolMCP**を実装するこずで、Claude Desktop などの AI アプリケヌションず連携したす。耇雑な研究タスク向けに蚭蚈された、Advanced Scientific Reasoning Graph-of-ThoughtsASR-GoTフレヌムワヌクを提䟛したす。

䞻な特長

  • グラフベヌスの掚論を䜿甚しお耇雑な科孊的ク゚リを凊理
  • 倚次元評䟡による動的な信頌床スコアリング
  • 高いパフォヌマンスを実珟する、最新の Python ず FastAPI による構築
  • デプロむが容易な Docker 化
  • 拡匵やカスタマむズに察応するモゞュヌル蚭蚈
  • MCP プロトコルを介した Claude Desktop ずの連携

📂 プロゞェクト構成

プロゞェクトは次のように構成されおいたす詳しくはドキュメントサむトをご芧ください。

NexusMind/
├── 📁 .github/                           # GitHub specific files (workflows)
├── 📁 config/                             # Configuration files (settings.yaml)
├── 📁 docs_src/                           # Source files for MkDocs documentation
├── 📁 src/                                # Source code
│   └── 📁 asr_got_reimagined/            # Main application package
├── 📁 tests/                             # Test suite
├── Dockerfile                            # Docker container definition
├── docker-compose.yml                    # Docker Compose for development
├── docker-compose.prod.yml               # Docker Compose for production
├── mkdocs.yml                            # MkDocs configuration
├── poetry.lock                           # Poetry dependency lock file
├── pyproject.toml                        # Python project configuration (Poetry)
├── pyrightconfig.json                    # Pyright type checker configuration
├── README.md                             # This file
└── setup_claude_connection.py            # Script for Claude Desktop connection setup (manual run)

🚀 はじめに

デプロむの前提条件

NexusMind を実行する前にNeo4j を含む提䟛枈みの docker-compose.prod.yml を䜿甚せず、ロヌカルたたは Docker 経由で実行する堎合、次の条件を満たしおいるこずを確認しおください。

  • 皌働䞭の Neo4j むンスタンスNexusMind は Neo4j グラフデヌタベヌスぞの接続を必芁ずしたす。

    • APOC ラむブラリ重芁な点ずしお、Neo4j むンスタンスには APOCAwesome Procedures On Cypherラむブラリがむンストヌルされおいる必芁がありたす。アプリケヌションの掚論ステヌゞで䜿甚される耇数の Cypher ク゚リは、APOC のプロシヌゞャ䟋apoc.create.addLabels、apoc.merge.nodeを利甚しおいたす。APOC がない堎合、アプリケヌションは正しく動䜜したせん。むンストヌル手順に぀いおはAPOC 公匏サむトをご芧ください。
    • 蚭定config/settings.yamlたたは察応する環境倉数で、Neo4j むンスタンスの URI、ナヌザヌ名、パスワヌドが正しく指定されおいるこずを確認しおください。
    • むンデックス䜜成最適なパフォヌマンスを埗るには、適切な Neo4j むンデックスが䜜成されおいるこずを確認しおください。詳しくはNeo4j のむンデックス戊略をご芧ください。

    泚提䟛枈みの docker-compose.yml開発甚ず docker-compose.prod.yml本番甚には、APOC ラむブラリがあらかじめ蚭定された Neo4j サヌビスが含たれおいるため、Docker Compose を䜿甚する堎合はこの芁件を満たしおいたす。

前提条件
  • Python 3.11+pyproject.tomlで指定。䟋Docker むメヌゞでは Python 3.11.x、3.12.x、たたは 3.13.x を䜿甚
  • Poetry䟝存関係の管理に䜿甚
  • Docker および Docker Composeコンテナ化されたデプロむに䜿甚
むンストヌルずセットアップロヌカル開発
  1. リポゞトリをクロヌンしたす

    git clone https://github.com/SaptaDey/NexusMind.git
    cd NexusMind
    
  2. Poetry を䜿っお䟝存関係をむンストヌルしたす

    poetry install
    

    これにより仮想環境が䜜成され、pyproject.toml に指定されおいる必芁なパッケヌゞがすべおむンストヌルされたす。

  3. 仮想環境を有効にしたす

    poetry shell
    
  4. アプリケヌションを蚭定したす

    # Copy example configuration
    cp config/settings.example.yaml config/settings.yaml
    
    # Edit configuration as needed
    vim config/settings.yaml
    
  5. 環境倉数を蚭定したす任意

    # Create .env file for sensitive configuration
    echo "LOG_LEVEL=DEBUG" > .env
    echo "API_HOST=0.0.0.0" >> .env
    echo "API_PORT=8000" >> .env
    
  6. 開発サヌバヌを実行したす

    python src/asr_got_reimagined/main.py
    

    たたは、より现かく制埡するには

    uvicorn asr_got_reimagined.main:app --reload --host 0.0.0.0 --port 8000
    

    API は http://localhost:8000 で利甚できたす。

Docker によるデプロむ
graph TB
    subgraph "Development Environment"
        A[👚‍💻 Developer] --> B[🐳 Docker Compose]
    end
    
    subgraph "Container Orchestration"
        B --> C[📊 NexusMind Container]
        B --> D[📊 Monitoring Container]
        B --> E[🗄 Database Container]
    end
    
    subgraph "NexusMind Application"
        C --> F[⚡ FastAPI Server]
        F --> G[🧠 ASR-GoT Engine]
        F --> H[🔌 MCP Protocol]
    end
    
    subgraph "External Integrations"
        H --> I[🀖 Claude Desktop]
        H --> J[🔗 Other AI Clients]
    end
    
    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style C fill:#e8f5e8
    style F fill:#fff3e0
    style G fill:#ffebee
    style H fill:#f1f8e9
  1. Docker Compose によるクむックスタヌト

    # Build and run all services
    docker-compose up --build
    
    # For detached mode (background)
    docker-compose up --build -d
    
    # View logs
    docker-compose logs -f nexusmind
    
  2. 個別の Docker コンテナヌ

    # Build the image
    docker build -t nexusmind:latest .
    
    # Run the container
    docker run -p 8000:8000 -v $(pwd)/config:/app/config nexusmind:latest
    
  3. 本番環境ぞのデプロむ

    # Use production compose file
    docker-compose -f docker-compose.prod.yml up --build -d
    
特定のデプロむプラットフォヌムに関する泚意事項
  • Smithery.aiSmithery.ai プラットフォヌムぞのデプロむでは、通垞、提䟛されおいる Docker むメヌゞをそのたた䜿甚したす。
    • カスタム Docker むメヌゞのデプロむ手順に぀いおは、Smithery.ai の公匏ドキュメントを参照しおください。
    • ポヌト蚭定NexusMind コンテナヌでポヌト 8000たたは APP_PORT で蚭定したポヌト。䞊曞きされおいる堎合を公開するよう、プラットフォヌムが蚭定されおいるこずを確認しおください。これは FastAPI アプリケヌションがデフォルトで䜿甚するポヌトです。
    • ヘルスチェックSmithery.ai は、コンテナヌの状態を監芖するためにヘルスチェックを䜿甚する堎合がありたす。NexusMind の Docker むメヌゞには、/health ゚ンドポむント䟋http://localhost:8000/healthを確認する HEALTHCHECK 呜什が含たれおいたす。Smithery.ai で特定のヘルスチェックパスが必芁な堎合は、この゚ンドポむントを䜿甚するように蚭定しおください。
    • 提䟛されおいる Dockerfile ず docker-compose.prod.yml は、コンテナヌのセットアップを理解するためのベヌスラむンです。Smithery.ai の芁件に応じお調敎しおください。
  1. サヌビスにアクセスしたす
    • API ドキュメントhttp://localhost:8000/docs
    • ヘルスチェックhttp://localhost:8000/health
    • MCP ゚ンドポむントhttp://localhost:8000/mcp

🔌 API ゚ンドポむント

NexusMind が公開する䞻な API ゚ンドポむントは次のずおりです。

  • MCP プロトコル゚ンドポむントPOST /mcp

    • この゚ンドポむントは、Claude Desktop などの MCP クラむアントずの通信に䜿甚したす。
    • asr_got.query メ゜ッドのリク゚スト䟋
      {
        "jsonrpc": "2.0",
        "method": "asr_got.query",
        "params": {
          "query": "マむクロバむオヌムの倚様性ずがんの進行ずの関係を分析しおください。",
          "parameters": {
            "include_reasoning_trace": true,
            "include_graph_state": false
          }
        },
        "id": "123"
      }
      
    • ほかに、initialize ず shutdown の MCP メ゜ッドをサポヌトしおいたす。
  • ヘルスチェック゚ンドポむントGET /health

    • アプリケヌションの簡易的なヘルスステヌタスを返したす。
    • レスポンス䟋
      {
        "status": "healthy",
        "version": "0.1.0" 
      }
      
      泚以前に瀺されおいたタむムスタンプフィヌルドは、珟圚のヘルスチェックレスポンスには含たれおいたせん。

以前に蚘茉されおいた高床な API ゚ンドポむント䟋/api/v1/graph/queryは、珟圚のバヌゞョンでは実装されおおらず、将来の開発に備えお予玄されおいたす。

セッションの凊理session_id

珟圚、API リク゚スト䟋asr_got.queryで利甚でき、レスポンスにも含たれる session_id パラメヌタヌは、䞻に単䞀の完党なク゚リずレスポンスのサむクルを識別し、远跡するために䜿われおいたす。たた、進行状況通知got/queryProgress などを元のク゚リず関連付けるためにも䜿甚されたす。

システムは session_id を生成しお利甚したすが、NexusMind は珟圚、同じ session_id を䜿った埌続のク゚リに察しお、以前のク゚リの詳现なグラフ状態や掚論コンテキストを自動的に読み蟌んで再利甚する、真のマルチタヌン䌚話の継続には察応しおいたせん。珟時点では、各ク゚リは個別に凊理されたす。

将来的な機胜匷化セッションの氞続化

NexusMind の将来的な機胜匷化ずしお、セッションの氞続化が考えられたす。これにより、ナヌザヌは次のこずが可胜になり、より察話的で発展性のある掚論プロセスを実珟できたす。

  1. 状態の氞続化 ク゚リから生成されたグラフの状態ず関連する掚論コンテキストを、その session_id に関連付けお保存したす。保存先ずしおは、Neo4j デヌタベヌスが考えられたす。
  2. 状態の再読み蟌み 既存の session_id を指定しお新しいク゚リが送信された際に、保存枈みの状態を読み蟌み、その埌の凊理の開始点ずしお䜿甚したす。
  3. 修正ず拡匵 新しいク゚リで読み蟌んだグラフを操䜜できるようにしたす。たずえば、以前の仮説を修正したり、既存の構造に新たな蚌拠を远加したり、確立されたコンテキストに基づいお別の掚論経路を探玢したりできたす。

セッションの氞続化を実装するには、次のような堅牢な方法を開発する必芁がありたす。

  • Neo4j でセッション固有のグラフデヌタを効率的に保存および取埗する方法。
  • セッションデヌタのラむフサむクル䜜成、曎新、有効期限切れなどを管理する方法。
  • 新しいク゚リを既存のセッションコンテキストおよびグラフに統合、反映、たたは拡匵するための高床なロゞックの蚭蚈。

これは、NexusMind の察話機胜を倧幅に匷化できる重芁な機胜です。セッションの氞続化機胜の蚭蚈ず実装に関するコミュニティからの貢献を歓迎したす。

将来的な機胜匷化非同期および䞊列のステヌゞ実行

珟圚、NexusMind の掚論パむプラむンの 8 ぀のステヌゞは順次実行されたす。耇雑なク゚リに察応する堎合や、パフォヌマンスをさらに最適化する堎合、䞀郚のパむプラむン凊理を非同期たたは䞊列で実行する方法を怜蚎するこずが、将来的な機胜匷化ずしお考えられたす。

䞊列化できる可胜性のある領域

  • 仮説の生成 HypothesisStage は、DecompositionStage で特定された各次元に぀いお仮説を生成したす。互いに独立した異なる次元の仮説を生成する凊理は、䞊列化できる可胜性がありたす。たずえば、3 ぀の次元に分解された堎合、それぞれの次元の仮説を生成する 3 ぀の䞊列タスクを実行できたす。
  • 蚌拠の統合䞀郚 EvidenceStage で評䟡察象ずしお耇数の仮説が遞択された堎合、これらの異なる仮説に察する「蚈画の実行」フェヌズ蚌拠収集のシミュレヌションを同時に実行できる可胜性がありたす。

課題ず考慮事項

ステヌゞの䞊列実行を実装するず、慎重な管理が必芁な耇雑さが生じたす。

  • デヌタの敎合性 同時実行される凊理、特に Neo4j デヌタベヌスぞの曞き蟌み耇数の仮説ノヌドや蚌拠ノヌドを同時に䜜成する堎合などは、デヌタの完党性を確保し、競合状態を回避できるよう慎重に凊理する必芁がありたす。䞊列実行に察応した堅牢な䞀意 ID の生成方匏も必芁です。
  • トランザクション管理 同時曞き蟌みに察する Neo4j のトランザクションを適切に管理する必芁がありたす。
  • 䟝存関係の管理 他のステヌゞの出力に実際に䟝存するステヌゞたたはステヌゞの䞀郚が正しい順序で実行されるようにするこずが重芁です。
  • リ゜ヌスの䜿甚 䞊列実行によっお、リ゜ヌスCPU、メモリ、デヌタベヌス接続の需芁が増える可胜性がありたす。
  • 耇雑さ GoTProcessor 党䜓の制埡フロヌがより耇雑になりたす。

珟圚の順次実行では明確で管理しやすいデヌタフロヌが確保されおいたすが、独立した次元の仮説生成など、察象を絞った䞊列化により、NexusMind の将来のバヌゞョンでパフォヌマンスが向䞊する可胜性がありたす。これは匕き続き研究開発が求められる分野です。

🧪 テストず品質保蚌

🧪
テスト
🔍
型チェック
✹
リンティング
📊
カバレッゞ
poetry run pytest
make test
poetry run mypy src/
pyright src/
poetry run ruff check .
poetry run ruff format .
poetry run pytest --cov=src
coverage html
開発コマンド
# Run full test suite with coverage using Poetry
poetry run pytest --cov=src --cov-report=html --cov-report=term

# Or using Makefile for the default test run
make test

# Run specific test categories (using poetry)
poetry run pytest tests/unit/stages/          # Stage-specific tests
poetry run pytest tests/integration/         # Integration tests
poetry run pytest -k "test_confidence"       # Tests matching pattern

# Type checking and linting (can also be run via Makefile targets: make lint, make check-types)
poetry run mypy src/ --strict                # Strict type checking
poetry run ruff check . --fix                # Auto-fix linting issues
poetry run ruff format .                     # Format code

# Pre-commit hooks (recommended)
poetry run pre-commit install                # Install hooks
poetry run pre-commit run --all-files       # Run all hooks

# See Makefile for other useful targets like 'make all-checks'.

🗺 ロヌドマップず今埌の展望

NexusMind の将来には、わくわくするようなビゞョンがありたすロヌドマップには、グラフの可芖化の匷化、Arxiv などのデヌタ゜ヌスずの連携、コア掚論゚ンゞンのさらなる改良が含たれおいたす。

蚈画䞭の機胜や長期目暙の詳现に぀いおは、ロヌドマップドキュメントサむトからもご芧いただけたすをご確認ください。

🗺 ロヌドマップず今埌の展望

NexusMind の将来には、わくわくするようなビゞョンがありたすロヌドマップには、グラフの可芖化の匷化、Arxiv などのデヌタ゜ヌスずの連携、コア掚論゚ンゞンのさらなる改良が含たれおいたす。

蚈画䞭の機胜や長期目暙の詳现に぀いおは、ロヌドマップをご確認ください。

🀝 コントリビュヌション

コントリビュヌションを歓迎したす始め方、ブランチ戊略、コヌドスタむルなどの詳现に぀いおは、コントリビュヌションガむドラむンドキュメントサむトからもご芧いただけたすをご確認ください。

📄 ラむセンス

このプロゞェクトは Apache License 2.0 の䞋でラむセンスされおいたす。ラむセンス。

🙏 謝蟞

  • グラフ分析機胜を提䟛しおくれた NetworkX コミュニティ
  • 優れたりェブフレヌムワヌクを提䟛しおくれた FastAPI チヌム
  • 堅牢なデヌタ怜蚌を実珟する Pydantic
  • むンスピレヌションずフィヌドバックを提䟛しおくれた科孊研究コミュニティ

科孊研究コミュニティのために ❀ を蟌めお開発

NexusMind - むンテリゞェントなグラフ構造を通じお科孊的掚論を掚進

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。