mcpField
T
TypeScript MCP with Filesystem Server and Ollama Integration

TypeScript MCP with Filesystem Server and Ollama Integration

ローカル
github.com/ausbossAI・エージェント3062 週間前に更新

TypeScript MCP with Filesystem Server and Ollama Integration について

このTypeScriptサンプルは、Ollamaのチャットを設定可能なMCPサーバーに接続し、対話型コマンドラインからモデルがツールを使えるようにします。LLMを使わずにファイルシステムやWeb調査ツールを試せるデモモードも備えています。

主な機能

  1. 01Ollamaの対話型チャット画面
  2. 02複数のMCPサーバーを設定
  3. 03uvxおよびnpxのサーバーに対応
  4. 04ファイルシステムとWeb調査ツール
  5. 05LLM不要のデモモード

活用シーン

  1. 01MCPツールを呼び出せるOllamaモデルとのチャット
  2. 02LLMなしでファイルシステムやWeb調査ツールを試す
  3. 03Node.jsまたはPythonのMCPサーバーを設定

MCP 対応

このプロジェクトはMCPクライアントとして動作し、mcp-config.jsonから設定を読み込んで、uvxやnpxで起動するサーバーを含む指定先に接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ollama-agent": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/server-filesystem

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@modelcontextprotocol/server-filesystem

ツール

14

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringはい
tailnumberいいえ指定すると、ファイルの末尾から N 行のみを返します
headnumberいいえ指定すると、ファイルの先頭から N 行のみを返します

詳細

TypeScript MCP エージェントと Ollama の統合

このプロジェクトは、Model Context Protocol (MCP) サーバーと Ollama の統合を実演し、AI モデルが統一されたインターフェースを通じてさまざまなツールと連携できるようにします。

✨ 機能

  • 複数の MCP サーバーをサポート(uvx と npx の両方でテスト済み)
  • ファイルシステム操作と Web リサーチのサポートを標準搭載
  • claude_desktop_config.json と同様の mcp-config.json による簡単な設定
  • あらゆるツールをサポートすることを目指した、Ollama 統合による対話型チャットインターフェース
  • LLM なしで Web ツールとファイルシステムツールをテストできるスタンドアロンデモモード

🚀 はじめに

  1. 前提条件:

    • Node.js(バージョン 18 以上)

    • Ollama がインストールされ、実行されていること

    • 使用したい MCP ツールをグローバルにインストールします:

      # ファイルシステム操作用
      npm install -g @modelcontextprotocol/server-filesystem
      
      # Web リサーチ用
      npm install -g @mzxrai/mcp-webresearch
      
  2. クローンとインストール:

    git clone https://github.com/ausboss/mcp-ollama-agent.git
    cd mcp-ollama-agent
    npm install
    
    
  3. mcp-config.json でツールと、ツールをサポートする Ollama モデルを設定します:

    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": ["@modelcontextprotocol/server-filesystem", "./"]
        },
        "webresearch": {
          "command": "npx",
          "args": ["-y", "@mzxrai/mcp-webresearch"]
        }
      },
      "ollama": {
        "host": "http://localhost:11434",
        "model": "qwen2.5:latest"
      }
    }
    
  4. LLM なしでファイルシステムツールと webresearch ツールをテストするためにデモを実行します:

    npx tsx ./src/demo.ts
    
  5. または、Ollama とのチャットインターフェースを起動します:

    npm start
    

⚙️ 設定

  • MCP サーバー: mcpServers セクションに MCP 互換のサーバーを追加します
  • Ollama: ホストとモデルを設定します(関数呼び出しをサポートしている必要があります)
  • Python(uvx)と Node.js(npx)の両方の MCP サーバーをサポートします

💡 使用例

この例では、このモデル qwen2.5:latest を使用しました

Chat started. Type "exit" to end the conversation.
You: can you use your list directory tool to see whats in test-directory then use your read file tool to read it to me?
Model is using tools to help answer...
Using tool: list_directory
With arguments: { path: 'test-directory' }
Tool result: [ { type: 'text', text: '[FILE] test.txt' } ]
Assistant:
Model is using tools to help answer...
Using tool: read_file
With arguments: { path: 'test-directory/test.txt' }
Tool result: [ { type: 'text', text: 'rosebud' } ]
Assistant: The content of the file `test.txt` in the `test-directory` is:
rosebud
You: thanks
Assistant: You're welcome! If you have any other requests or need further assistance, feel free to ask.

システムプロンプト

一部のローカルモデルでは、ツールの選択に支援が必要な場合があります。ツールの使用を改善するには、ChatManager.ts のシステムプロンプトをカスタマイズしてください。

🤝 コントリビューション

コントリビューションを歓迎します!お気軽に issue やプルリクエストを送信してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。