t

testmcpplan

chenbomodel/testmcpplan
0 Stars 11 次浏览 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

一、概述

MockMCPController是一款模拟的用于工业自动化领域的主控制程序(Master Control Program),本README旨在对其配置文件(JSON格式)的各项设置进行详细说明,帮助使用者理解和正确配置该服务。

二、配置文件结构

(一)根节点

配置文件的根节点为 mcpServiceConfig,其下包含了服务的各类相关配置信息。

(二)主要配置项

  1. serviceName
    • 类型:字符串
    • 说明:服务的名称,此处为 MockMCPController,用于在系统中标识该服务。
    • 示例值:MockMCPController
  2. version
    • 类型:字符串
    • 说明:服务的当前版本号,便于进行版本管理和跟踪更新情况。
    • 示例值:2.4.1
  3. environment
    • 类型:字符串
    • 说明:服务运行的环境,常见的如 production(生产环境)、development(开发环境)、testing(测试环境)等,此处设置为 production,表示当前配置适用于正式生产场景。
    • 示例值:production
  4. description
    • 类型:字符串
    • 说明:对服务的简要描述,帮助使用者快速了解服务的大致用途。
    • 示例值:Mock Master Control Program for industrial automation
  5. enabled
    • 类型:布尔值
    • 说明:用于控制服务是否启用,true 表示启用,false 表示禁用。
    • 示例值:true
  6. heartbeatInterval
    • 类型:整数(单位:毫秒)
    • 说明:服务向外部发送心跳信号的时间间隔,用于表明服务的存活状态,此处设置为每 30000 毫秒(即30秒)发送一次心跳。
    • 示例值:30000
  7. maxConnections
    • 类型:整数
    • 说明:服务允许的最大并发连接数,限制同时与服务建立连接的客户端数量,这里设置为 500
    • 示例值:500

三、网络设置(networkSettings)

  1. listenAddress
    • 类型:字符串(IP地址格式)
    • 说明:服务监听的网络地址,0.0.0.0 表示监听所有可用的网络接口,意味着服务可以接受来自任何网络地址的连接请求。
    • 示例值:0.0.0.0
  2. port
    • 类型:整数
    • 说明:服务监听的端口号,用于客户端通过该端口与服务进行通信,此处设定为 7777
    • 示例值:7777
  3. protocol
    • 类型:字符串
    • 说明:使用的网络通信协议,常见的有 tcp(传输控制协议)、udp(用户数据报协议)等,这里采用的是 tcp 协议。
    • 示例值:tcp
  4. sslEnabled
    • 类型:布尔值
    • 说明:是否启用 SSL/TLS 加密来保障通信安全,true 表示启用,当启用时需要配置对应的证书和密钥路径。
    • 示例值:true
  5. sslCertPath
    • 类型:字符串(文件路径格式)
    • 说明:SSL/TLS 证书文件的存储路径,服务使用该证书向客户端证明自身身份,示例路径为 /etc/mcp/certs/server.crt
    • 示例值:/etc/mcp/certs/server.crt
  6. sslKeyPath
    • 类型:字符串(文件路径格式)
    • 说明:与证书对应的私钥文件存储路径,用于SSL/TLS加密通信中的解密等操作,示例路径为 /etc/mcp/certs/server.key
    • 示例值:/etc/mcp/certs/server.key
  7. timeout
    • 类型:整数(单位:毫秒)
    • 说明:网络连接的超时时间,超过该时间如果没有数据传输等操作,连接将会被关闭,此处设置为 15000 毫秒(即15秒)。
    • 示例值:15000

四、数据库配置(databaseConfig)

  1. type
    • 类型:字符串
    • 说明:所使用的数据库类型,当前配置为 postgres(PostgreSQL数据库),也可以是其他如 mysqlsqlite 等常见数据库类型。
    • 示例值:postgres
  2. host
    • 类型:字符串
    • 说明:数据库服务器的主机名或IP地址,指定服务连接到哪个数据库实例。
    • 示例值:localhost- host
    • 类型:字符串
    • 说明:数据库服务器的主机名或IP地址,指定服务连接到哪个数据库实例。
    • 示例值:localhost
  • host
    • 类型:字符串
    • 说明:数据库服务器的主机地址,服务将通过该地址连接到数据库,示例中数据库主机名为 db.mcp-internal.com
    • 示例值:db.mcp-internal.com
  1. port
    • 类型:整数
    • 说明:数据库服务监听的端口号,不同数据库默认端口不同,对于PostgreSQL数据库,默认端口是 5432
    • 示例值:5432
  2. databaseName
    • 类型:字符串
    • 说明:服务要连接的数据库名称,这里是 mcp_operations,存放着与MCP操作相关的数据。
    • 示例值:mcp_operations
  3. username
    • 类型:字符串
    • 说明:用于连接数据库的用户名,具备相应权限才能对数据库进行操作,此处用户名是 mcp_service
    • 示例值:mcp_service
  4. password
    • 类型:字符串(实际使用中建议从环境变量获取,如示例中的 ${DB_PASSWORD} 形式)
    • 说明:连接数据库对应的密码,出于安全考虑,通常从环境变量等安全途径获取,避免明文写在配置文件中。
    • 示例值:${DB_PASSWORD}
  5. connectionPoolSize
    • 类型:整数
    • 说明:数据库连接池的大小,即预先创建好的、可供服务复用的数据库连接数量,设置为 20 个连接。
    • 示例值:20
  6. reconnectAttempts
    • 类型:整数
    • 说明:当数据库连接出现问题时,服务尝试重新连接的次数,这里设置为 5 次。
    • 示例值:5

五、认证配置(authentication)

  1. method
    • 类型:字符串
    • 说明:采用的认证方法,当前配置为 jwt(JSON Web Token),通过发放和验证JWT令牌来确认用户身份。
    • 示例值:jwt
  2. tokenExpiry
    • 类型:整数(单位:秒)
    • 说明:JWT令牌的有效时间,超过这个时间后令牌将失效,需重新获取,这里设置为 3600 秒(即1小时)。
    • 示例值:3600
  3. issuer
    • 类型:字符串
    • 说明:JWT令牌的颁发者标识,用于验证令牌来源合法性,示例为 mcp-auth-service
    • 示例值:mcp-auth-service
  4. allowedRoles
    • 类型:数组(字符串元素)
    • 说明:允许访问服务的用户角色列表,只有具备这些角色之一的用户才能成功通过认证,当前包含 adminoperatormonitor 这几个角色。
    • 示例值:["admin", "operator", "monitor"]
  5. ldapFallback
    • 类型:对象
    • 说明:配置了LDAP(轻量级目录访问协议)作为备用认证方式的相关设置,当JWT认证失败时可尝试使用LDAP认证。
    • enabled
      • 类型:布尔值
      • 说明:是否启用LDAP备用认证,true 表示启用。
      • 示例值:true
    • server
      • 类型:字符串(LDAP服务器地址格式)
      • 说明:LDAP服务器的地址,示例为 ldap://auth.mcp-internal.com
      • 示例值:ldap://auth.mcp-internal.com

六、模块配置(modules)

模块配置是一个数组,每个元素对应一个服务内的模块,以下以其中一个模块为例说明各字段含义:

  1. name
    • 类型:字符串
    • 说明:模块的名称,用于在服务内部唯一标识该模块,例如 ProcessMonitor 表示进程监控模块。
    • 示例值:ProcessMonitor
  2. enabled
    • 类型:布尔值
    • 说明:用于控制该模块是否启用,true 表示启用该模块,使其能正常运行并发挥相应功能。
    • 示例值:true
  3. configPath
    • 类型:字符串(文件路径格式)- 说明:模块自身配置文件的存储路径,模块可能会从该文件中读取更多个性化的配置参数,示例路径为 /etc/mcp/modules/process-monitor.json
  • 示例值:/etc/mcp/modules/process-monitor.json
  1. logLevel
  • 类型:字符串
  • 说明:该模块的日志记录级别,常见的有 info(信息级别,记录一般操作信息)、warning(警告级别,记录可能存在问题的情况)、error(错误级别,记录出现错误的情况)等,此处对于 ProcessMonitor 模块设置为 info
  • 示例值:info

七、日志配置(logging)

  1. logFile
    • 类型:字符串(文件路径格式)
    • 说明:服务日志文件的存储路径,所有的日志信息将会被记录到该文件中,示例路径为 /var/log/mcp/service.log
    • 示例值:/var/log/mcp/service.log
  2. maxFileSize
    • 类型:整数(单位:字节)
    • 说明:单个日志文件允许的最大大小,当文件达到该大小后,可能会进行日志轮转等操作,此处设置为 10485760 字节(即10MB)。
    • 示例值:10485760
  3. maxBackupFiles
    • 类型:整数
    • 说明:最多保留的日志备份文件数量,用于防止日志文件过多占用磁盘空间,这里设置为 5 个备份文件。
    • 示例值:5
  4. logLevel
    • 类型:字符串
    • 说明:整个服务的日志记录级别,决定了哪些级别的日志会被记录,设置为 info,表示记录信息及更高级别的日志(警告、错误等)。
    • 示例值:info
  5. syslogEnabled
    • 类型:布尔值
    • 说明:是否启用将日志发送到系统日志(syslog)服务,true 表示启用,方便集中管理和查看系统内多个服务的日志。
    • 示例值:true
  6. syslogFacility
    • 类型:字符串
    • 说明:指定发送到syslog服务的日志设施(facility),不同设施用于区分不同类型的服务或应用,此处设置为 local0
    • 示例值:local0

八、指标监控配置(metrics)

  1. enabled
    • 类型:布尔值
    • 说明:是否启用指标监控功能,true 表示启用,启用后可以收集和暴露服务的相关运行指标。
    • 示例值:true
  2. endpoint
    • 类型:字符串
    • 说明:指标数据暴露的HTTP端点路径,外部监控工具可以通过访问该端点获取服务的指标信息,示例路径为 /metrics
    • 示例值:/metrics
  3. scrapeInterval
    • 类型:整数(单位:毫秒)
    • 说明:指标数据的采集间隔时间,监控工具将按照这个时间间隔来获取最新的指标数据,此处设置为每 60000 毫秒(即1分钟)采集一次。
    • 示例值:60000
  4. exporters
    • 类型:数组(字符串元素)
    • 说明:指定指标数据的导出方式,也就是可以将指标发送到哪些外部监控系统,当前配置支持导出到 prometheus(普罗米修斯监控系统)和 graphite 这两个常见的监控工具。
    • 示例值:["prometheus", "graphite"]

相关 MCP 服务