mcpField
F
FlowMCP Server

FlowMCP Server

ローカル
github.com/FlowMCP開発ツール115 週間前に更新

FlowMCP Server について

アーカイブ済みでメンテナンスされていない FlowMCP v1 のサーバーパッケージです。ローカルの stdio とリモートの HTTP/SSE 実装を備え、スキーマベースのツールや複数ルートに対応しますが、API は flowmcp-core 4.0.0 で削除されています。以前のコミットに固定した既存環境は引き続き動作します。

主な機能

  1. 01ローカル stdio サーバー
  2. 02リモート HTTP・SSE サーバー
  3. 03複数ルートとスキーマ
  4. 04ルートごとの認証
  5. 05デプロイ用ヘルパー

活用シーン

  1. 01FlowMCP スキーマをローカル stdio で実行
  2. 02HTTP または SSE ルートでスキーマを公開
  3. 03ミドルウェアのカスタマイズと接続の監視

MCP 対応

ローカル stdio とリモート HTTP/SSE のトランスポートで、FlowMCP スキーマのツールを MCP クライアントに提供します。リポジトリはアーカイブ済みで、使用する v1 API は flowmcp-core 4.0.0 で削除されています。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

⚠️ 非推奨 — このリポジトリはアーカイブされ、凍結されています。

flowmcp-servers は v1 FlowMCP API(prepareActivations、 filterArrayOfSchemas、activateServerTools)に依存していますが、これは flowmcp-core 4.0.0 で削除されました。現在、コアは v4 専用です。このリポジトリは メンテナンスされなくなり、今後機能追加や修正は行われません。

既存のインストールは引き続き動作します。 利用側はコミット SHA で flowmcp-core を固定します。 これらのコミットは履歴から引き続き取得できるため、4.0.0 より前の コアに固定されたインストールは、これまでどおり動作します。

後継 — FlowMCP v4 を直接統合してください:

  • flowmcp-core v4 のファサード(FlowMCP.loadSchema + FlowMCP.prepareServerTool) を使用して、プロセス内に MCP サーバーを構築するか、
  • すぐに使える MCP サーバーには mcp-agent-server を使用してください。

(flowmcp CLI には run/serve コマンドが含まれなくなりました — stdio MCP サーバーは削除されました。)

v4 の統合ガイドについては、FlowMCP のドキュメントを参照してください。


FlowMCP サーバー

このリポジトリでは、FlowMCP フレームワークと互換性のある 2 種類のサーバー実装を提供します。

  • 🖥 LocalServer — ローカルでの stdio ベースの実行向け
  • 🌐 RemoteServer — HTTP および SSE を介したネットワーク利用向け

目次


クイックスタート

DigitalOcean でデプロイする

ステートレスなサーバー(streamableHTTP)でのみ自動デプロイを利用できます。

DO にデプロイ

🖥 ローカルサーバー

LocalServer は、標準入出力ストリームを使用するローカルのワークフロー向けに設計されています。CLI ツール、テスト、開発環境に最適です。

✅ 機能
  • stdin/stdout を介した、軽量で依存関係のない I/O
  • FlowMCP.activateServerTools(...) を完全にサポート
  • StdioServerTransport を使用
🚀 使用例
import { LocalServer } from 'flowmcp-server'
import { FlowMCP } from 'flowmcp'
import { SchemaImporter } from 'schemaimporter'

const schemaList = await SchemaImporter.get( { withSchema: true } )
const arrayOfSchemas = schemaList.map(({ schema }) => schema)

const { activationPayloads } = FlowMCP.prepareActivations({ arrayOfSchemas })

const localServer = new LocalServer({ silent: true })
localServer.addActivationPayloads({ activationPayloads })

await localServer.start()
🔧 設定
localServer.setConfig({
  overwrite: {
    serverDescription: {
      name: 'My Local Server',
      description: 'CLI test server',
      version: '1.2.2'
    }
  }
})

🌐 リモートサーバー

RemoteServer は、さまざまなプロトコルを使用して FlowMCP スキーマに HTTP 経由でアクセスできるようにします。フロントエンドアプリ、リモートエージェント、ネットワーク経由の統合に最適です。

✅ 機能
  • 2 種類のトランスポートプロトコルをサポート:

    • streamable(ステートレスな通信を行う HTTP)
    • sse(Server-Sent Events)
  • 複数のルートとスキーマを有効化可能

  • 簡単に設定可能

🚀 使用例
import { RemoteServer } from 'flowmcp-server'
import { FlowMCP } from 'flowmcp'

const remoteServer = new RemoteServer({ silent: true })

// Define routes with their configuration
const arrayOfRoutes = [
  {
    routePath: '/api',
    protocol: 'sse',
  }
]

// Pre-assign schemas to routes
const objectOfSchemaArrays = {
  '/api': [...] // Your schemas here
}

// Prepare route activation payloads
const { routesActivationPayloads } = RemoteServer.prepareRoutesActivationPayloads({
  arrayOfRoutes,
  objectOfSchemaArrays,
  envObject: process.env
})

remoteServer.start({ routesActivationPayloads })
🔧 設定
remoteServer.setConfig({
  overwrite: {
    port: 8081,
    rootUrl: 'http://mydomain.com'
  }
})
📡 サポートするトランスポートプロトコル
プロトコル説明
sseServer-Sent Events、永続的な接続
streamableステートレスな POST ベースの HTTP 通信

🚀 シンプルなデプロイ

Deploy クラスを使用すると、コマンドラインパラメーターに対応したサーバーを手早くセットアップできます。

📝 使用例
import { Deploy } from 'flowmcp-server'

// Initialize with command-line arguments and schemas
const { serverType, app, mcps, events, argvs } = Deploy.init({
  argv: process.argv,
  processEnv: process.env,
  arrayOfSchemas: [...] // Your schemas
})

// Access parsed command-line arguments
console.log('Server Type:', serverType)     // 'local' or 'remote'
console.log('Parsed Args:', argvs)          // All CLI parameters
console.log('Express App:', app)            // Express.js app (remote) or McpServer (local)
console.log('MCPs:', mcps)                  // null for local, sessions object for remote
console.log('Events:', events)              // null for local, event emitter for remote

// Start the configured server
await Deploy.start()

🚀 高度な複数ルートのデプロイ

DeployAdvanced クラスを使用すると、異なるスキーマとプロトコルを持つ複数のルートをデプロイできます。複雑な API の構成に最適です。

🌟 主な機能
  • 独立したスキーマセットを持つ複数のルート
  • ルートごとに事前フィルタリングされたスキーマを割り当て
  • 複数のトランスポートプロトコルの併用(SSE + HTTP)
  • ルートごとの認証
📝 使用例
import { DeployAdvanced } from 'flowmcp-server'

// Initialize the advanced deployment
const { serverType, app, mcps, events, server } = DeployAdvanced.init({ silent: true })

// Define routes with their configuration
const arrayOfRoutes = [
  {
    routePath: '/crypto',
    protocol: 'sse', 
  },
  {
    routePath: '/admin',
    protocol: 'streamable',
  }
]

// Pre-assign schemas to routes (user controls filtering)
const objectOfSchemaArrays = {
  '/crypto': [
    // Crypto-related schemas only
    coinGeckoSchema,
    deFiLlamaSchema
  ],
  '/admin': [
    // Admin-only schemas
    userManagementSchema,
    systemStatsSchema
  ]
}

// Start with pre-configured routes and schemas
DeployAdvanced.start({
  arrayOfRoutes,
  objectOfSchemaArrays, 
  envObject: process.env,
  rootUrl: 'https://api.example.com',
  port: 8080
})

// Optional: Access server internals for advanced customization
console.log('Server Type:', serverType)  // 'multipleRoutes'

// Express.js app - add custom middleware, routes, etc.
app.use('/health', (req, res) => res.json({ status: 'healthy' }))

// Monitor MCP sessions - track active connections per route
Object.entries(mcps).forEach(([route, { sessionIds }]) => {
  console.log(`Route ${route}: ${Object.keys(sessionIds).length} active sessions`)
})

// Event monitoring - listen to server events
events.on('sessionCreated', ({ protocol, routePath, sessionId }) => {
  console.log(`New ${protocol} session: ${sessionId} on ${routePath}`)
})

// Direct server access - modify configuration, add routes, etc.
server.setConfig({ overwrite: { port: 9000 } })
🔄 v1.3.x からの移行

旧 API(v1.3.x):

const routes = [{
  includeNamespaces: ['coingecko'],
  excludeNamespaces: ['debug'],
  activateTags: ['production'],
  routePath: '/crypto',
  protocol: 'sse',
}]

DeployAdvanced.start({
  routes,                    // ❌ Old parameter
  arrayOfSchemas: [...],     // ❌ Global array
  envObject: process.env
})

新 API(v1.4.x):

const arrayOfRoutes = [{
  routePath: '/crypto',      // ✅ Simplified route
  protocol: 'sse',
}]

const objectOfSchemaArrays = {
  '/crypto': [...]           // ✅ Pre-filtered per route
}

DeployAdvanced.start({
  arrayOfRoutes,             // ✅ New parameter
  objectOfSchemaArrays,      // ✅ Route-specific schemas  
  envObject: process.env
})

🔧 高度なサーバーアクセス

Deploy.init() と DeployAdvanced.init() はどちらも、詳細なカスタマイズを可能にする重要なオブジェクトを返します。

オブジェクトDeploy(シンプル)DeployAdvanced説明
serverType'local' または 'remote''multipleRoutes'サーバーの設定タイプ
appExpress アプリまたは McpServerExpress アプリサーバーアプリケーションのインスタンス
mcpsnull(ローカル)またはセッションオブジェクトセッションオブジェクトルートごとのアクティブな MCP 接続
eventsnull(ローカル)または EventEmitterEventEmitter監視用のイベントシステム
argvs解析済みの CLI 引数nullコマンドラインパラメーター(Deploy のみ)
server利用不可RemoteServer インスタンスサーバーへの直接アクセス(DeployAdvanced のみ)
💡 使用例
  • カスタムミドルウェア:app を介して認証、ロギング、レート制限を追加します
  • 接続の監視:mcps と events を介してアクティブなセッションを追跡します
  • ヘルスチェック:監視用のカスタムエンドポイントを追加します
  • 設定:server を介してサーバー設定を変更します(DeployAdvanced)
  • CLI との連携:argvs を介して解析済みの引数にアクセスします(Deploy)

📌 互換性

  • FlowMCP Server バージョン:1.5.0
  • FlowMCP Schema spec バージョン:1.2.2

コメント

MCP は初めてですか?

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

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