mcpField
F
FlowMCP Server

FlowMCP Server

本地服务
github.com/FlowMCP开发工具115 周前更新

关于 FlowMCP Server

这是一个已归档且不再维护的 FlowMCP v1 服务包,包含本地 stdio 和远程 HTTP/SSE 实现。它支持基于 schema 的工具及多路由部署,但其 API 已在 flowmcp-core 4.0.0 中移除;固定到早期提交的现有安装仍可运行。

主要功能

  1. 01本地 stdio 服务
  2. 02远程 HTTP 和 SSE 服务
  3. 03多路由及多 schema
  4. 04按路由设置身份验证
  5. 05部署辅助工具

适用场景

  1. 01通过本地 stdio 运行 FlowMCP schema
  2. 02通过 HTTP 或 SSE 路由提供 schema
  3. 03自定义中间件并监控连接

MCP 相关

通过本地 stdio 和远程 HTTP/SSE 传输,向 MCP 客户端提供 FlowMCP schema 工具。仓库已归档,使用的 v1 API 已在 flowmcp-core 4.0.0 中移除。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

⚠️ 已弃用 — 此仓库已归档并冻结。

flowmcp-servers 绑定到 v1 FlowMCP API(prepareActivations、 filterArrayOfSchemas、activateServerTools),这些 API 已在 flowmcp-core 4.0.0 中移除——核心现在仅支持 v4。此仓库不再维护, 也不会再收到任何功能或修复更新。

现有安装仍可正常运行。 使用方通过提交 SHA 固定 flowmcp-core; 这些提交仍可在历史记录中访问,因此任何固定到 4.0.0 之前核心版本的安装 都会继续照常运行。

后继方案 — 直接集成 FlowMCP v4:

  • 使用 flowmcp-core v4 外观(FlowMCP.loadSchema + FlowMCP.prepareServerTool) 在进程内构建 MCP 服务,或
  • 使用 mcp-agent-server 获取现成的 MCP 服务。

(flowmcp CLI 不再提供 run/serve 命令——stdio MCP 服务已被移除。)

请参阅 FlowMCP 文档中的 v4 集成指南。


FlowMCP 服务

此仓库提供两种与 FlowMCP 框架兼容的服务实现:

  • 🖥 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 接口。它非常适合前端应用、远程 Agent 和网络集成。

✅ 功能
  • 支持 2 种传输协议:

    • streamable(使用无状态通信的 HTTP)
    • sse(服务器发送事件)
  • 可激活多个路由和架构

  • 配置简单

🚀 使用示例
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'
  }
})
📡 支持的传输协议
协议描述
sse服务器发送事件,持久连接
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 规范版本:1.2.2

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。