关于 FlowMCP Server
这是一个已归档且不再维护的 FlowMCP v1 服务包,包含本地 stdio 和远程 HTTP/SSE 实现。它支持基于 schema 的工具及多路由部署,但其 API 已在 flowmcp-core 4.0.0 中移除;固定到早期提交的现有安装仍可运行。
主要功能
- 01本地 stdio 服务
- 02远程 HTTP 和 SSE 服务
- 03多路由及多 schema
- 04按路由设置身份验证
- 05部署辅助工具
适用场景
- 01通过本地 stdio 运行 FlowMCP schema
- 02通过 HTTP 或 SSE 路由提供 schema
- 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-corev4 外观(FlowMCP.loadSchema+FlowMCP.prepareServerTool) 在进程内构建 MCP 服务,或- 使用
mcp-agent-server获取现成的 MCP 服务。(
flowmcpCLI 不再提供run/serve命令——stdio MCP 服务已被移除。)请参阅 FlowMCP 文档中的 v4 集成指南。
FlowMCP 服务
此仓库提供两种与 FlowMCP 框架兼容的服务实现:
- 🖥 LocalServer — 用于本地、基于 stdio 的执行
- 🌐 RemoteServer — 用于通过 HTTP 和 SSE 进行网络访问
目录
快速入门
使用 DigitalOcean 部署
仅无状态服务(streamableHTTP)支持自动部署。
🖥 本地服务
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' | 服务配置类型 |
app | Express 应用或 McpServer | Express 应用 | 服务应用实例 |
mcps | null(本地)或会话对象 | 会话对象 | 每个路由的活动 MCP 连接 |
events | null(本地)或 EventEmitter | EventEmitter | 用于监控的事件系统 |
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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。