关于 FortunaMCP Server
FortunaMCP Server 是面向 AI 应用的 MCP 服务,可生成随机值并从多种概率分布中取样,适用于模拟和游戏。它基于由线程安全的 Storm C++ 随机数引擎驱动的 Fortuna C 扩展;不适用于区块链、安全或加密任务。
主要功能
- 01骰子投掷与随机范围
- 02均匀整数和浮点数抽样
- 03多种概率分布取样
- 04Fortuna 与 Storm 随机数引擎
适用场景
- 01蒙特卡洛模拟
- 02不确定系统建模
- 03生成桌游结果
MCP 相关
向 MCP 客户端提供骰子投掷、随机范围、随机浮点数以及多种概率分布取样工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🎲 FortunaMCP 服务
FortunaMCP 是一款先进的 MCP 服务,专用于生成高质量随机值。它采用 Fortuna C 扩展,该扩展由 Storm 直接驱动。Storm 是一款强大、线程安全的 C++ 随机数生成引擎,针对高速硬件熵进行了优化。FortunaMCP 为各类 AI 应用提供可靠的随机性。
大模型擅长自然语言处理,但依赖确定性算法,在需要真正不可预测性时就显得不足。相比之下,FortunaMCP 能提供真正的随机性。这项能力让它在需要无偏、不可预测结果的场景中不可或缺,而大模型的近似结果(幻觉)根本无法胜任。
FortunaMCP 非常适合蒙特卡洛模拟、复杂系统建模与分析,以及交互式游戏机制等任务。它不适用于区块链、安全或加密相关任务。
致谢
- 开发者: Robert Sharp——Fortuna、Storm 和 FortunaMCP 服务的创建者与维护者。
- 托管方: Silicon Society——自豪地托管 FortunaMCP 服务,并支持其为 AI Agent 提供世界一流随机值生成能力的使命。Silicon Society 正在构建规模化学习的未来。AI 驱动的跟岗学习将学习带到工作发生的地方。通过个性化指导,跟随专业人士实际工作,指导内容会根据你的目标进行调整。立即注册加入候补名单。
参考部署:FortunaMCP Lite
- 骰子
- 随机范围
- 随机浮点数
工具概览
骰子
- 描述: 模拟掷指定数量的骰子,并返回点数总和。支持标准 RPG 风格的骰子,面数为 {2, 4, 6, 8, 10, 12, 20, 30, 100}。
- 使用场景: 非常适合需要骰子机制的角色扮演游戏、桌游或模拟。
- 触发示例:“掷三个六面骰”或“掷 3d6”
- 调用:
Fortuna.dice(rolls=3, sides=6)
随机范围
- 描述: 从自定义范围定义的序列中返回一个随机整数。参数受整数范围限制(-9223372036854775807 至 9223372036854775807),且步长必须非零。
- 使用场景: 适用于模拟,以及需要非标准步长或区间的自定义范围采样。
- 触发示例:“以 5 为步长,从 10 到 100 选择一个数字”
- 调用:
Fortuna.random_range(start=10, stop=100, step=5)
随机浮点数
- 描述: 在半开区间
[lower_limit, upper_bound)内生成均匀分布的随机浮点数。两个边界均在浮点数范围 -1.7976931348623157e+308 至 1.7976931348623157e+308 内。 - 使用场景: 可用于模拟、蒙特卡洛方法,或任何需要连续均匀随机性的场景。
- 触发示例:“生成一个介于 0.0 和 1.0 之间的随机浮点数”
- 调用:
Fortuna.random_float(lower_limit=0.0, upper_bound=1.0)
三角分布随机变量
- 描述: 从由下限、上限和众数定义的三角分布中采样一个随机浮点数。
- 使用场景: 非常适合项目管理估算、风险分析,或结果最可能集中在某个中心值附近的场景。
- 触发示例:“模拟一个最可能值为 50、范围为 10 到 100 的结果”
- 调用:
Fortuna.triangular(lower_limit=10.0, upper_limit=100.0, mode=50.0)
伯努利随机变量
- 描述: 根据给定的成功概率执行伯努利试验,并返回布尔结果。
- 使用场景: 适用于二元决策,例如模拟抛硬币、开关事件或成功/失败结果。
- 触发语句: “模拟一次抛硬币,正面朝上的概率为 70%”
- 调用:
Fortuna.bernoulli_variate(ratio_of_truth=0.7)
二项分布随机变量
- 描述: 返回固定次数的伯努利试验中的成功次数,用于模拟二项分布。
- 使用场景: 适用于统计模拟、质量控制流程,以及需要确定成功率的实验。
- 触发语句: “模拟抛 20 次硬币,每次正面朝上的概率为 50%,计算正面朝上的次数”
- 调用:
Fortuna.binomial_variate(number_of_trials=20, probability=0.5)
负二项分布随机变量
- 描述: 计算一系列伯努利试验中,在达到目标成功次数之前的失败次数。
- 使用场景: 适用于可靠性工程、风险评估,以及跟踪成功前失败次数至关重要的场景。
- 触发语句: “每次试验成功率为 40%,计算取得 5 次成功前的失败次数”
- 调用:
Fortuna.negative_binomial_variate(number_of_trials=5, probability=0.4)
几何分布随机变量
- 描述: 根据几何分布确定首次成功前的失败次数。
- 使用场景: 适用于对等待时间和首次发生事件建模,例如客户获取或质量测试流程。
- 触发语句: “成功率为 25%,首次成功前会失败多少次?”
- 调用:
Fortuna.geometric_variate(probability=0.25)
泊松分布随机变量
- 描述: 从泊松分布中生成一个随机整数,该分布由预期发生次数(λ)定义。
- 使用场景: 适用于对一段时间内的稀有事件建模,例如系统故障、网络流量或客户到访。
- 触发语句: “模拟某个时间间隔内的事件次数,平均为 4 次”
- 调用:
Fortuna.poisson_variate(mean=4.0)
Beta 分布随机变量
- 描述: 使用两个正形状参数,从区间 [0, 1] 上的 Beta 分布中抽取一个随机浮点数。
- 使用场景: 广泛用于贝叶斯统计、比例建模,以及需要模拟概率的各种场景。
- 触发语句: “使用形状参数 2 和 5 生成一个随机概率”
- 调用:
Fortuna.beta_variate(alpha=2.0, beta=5.0)
Pareto 分布随机变量
- 描述: 从 Pareto 分布中返回一个随机浮点数,适用于对重尾现象建模。输出始终大于或等于 1。
- 使用场景: 适用于观察到幂律行为的经济学、保险和风险管理领域。
- 触发语句: “使用形状参数 1.5 生成一个符合 Pareto 分布的值”
- 调用:
Fortuna.pareto_variate(alpha=1.5)
Von Mises 分布随机变量
- 描述: 从 Von Mises 分布中生成一个随机角度,适用于圆形或方向性数据。
- 使用场景: 常用于气象学、导航,以及涉及角度或周期性现象的应用。
- 触发语句: “生成一个均值为 0 弧度、集中参数为 1.0 的随机角度”
- 调用:
Fortuna.vonmises_variate(mu=0.0, kappa=1.0)
指数分布随机变量
- 描述: 根据速率参数定义的指数分布生成一个随机浮点数,用于模拟独立事件之间的间隔时间。
- 使用场景: 对寿命、系统故障以及排队模型中的到达间隔时间进行模拟时至关重要。
- 触发语句: “模拟速率为 0.5 时到下一事件发生前的时间”
- 调用:
Fortuna.exponential_variate(lambda_rate=0.5)
伽马分布变量
- 描述: 返回一个由形状和尺度参数决定的伽马分布随机浮点数。
- 使用场景: 用于模拟等待时间、进行可靠性分析以及各种连续过程。
- 触发词: “生成一个形状参数为 2.0、尺度参数为 3.0 的伽马分布变量”
- 调用:
Fortuna.gamma_variate(shape=2.0, scale=3.0)
威布尔分布变量
- 描述: 从威布尔分布中抽取一个随机浮点数,该分布用于描述发生故障或事件前的时间。
- 使用场景: 广泛用于生存分析、可靠性工程和故障率估算。
- 触发词: “使用形状参数 1.5 和尺度参数 100.0,通过威布尔分布模拟故障发生时间”
- 调用:
Fortuna.weibull_variate(shape=1.5, scale=100.0)
正态分布变量
- 描述: 根据均值和标准差生成一个正态(高斯)分布随机浮点数。
- 使用场景: 是统计建模、质量控制以及需要钟形曲线行为的模拟的基础。
- 触发词: “生成一个均值为 0、标准差为 1 的正态分布值”
- 调用:
Fortuna.normal_variate(mean=0.0, std_dev=1.0)
对数正态分布变量
- 描述: 从由底层正态分布导出的对数正态分布中抽取一个随机浮点数。
- 使用场景: 用于金融建模、股价模拟以及结果具有乘法特性的场景。
- 触发词: “生成一个对数均值为 0、对数偏差为 1 的对数正态分布变量”
- 调用:
Fortuna.log_normal_variate(log_mean=0.0, log_deviation=1.0)
极值分布变量
- 描述: 从极值(Gumbel)分布中抽取一个随机浮点数,该分布用于模拟最大值或最小值。
- 使用场景: 适用于风险评估、极端天气预测和工程压力测试。
- 触发词: “使用位置参数 0 和尺度参数 1.0 模拟一个极端事件”
- 调用:
Fortuna.extreme_value_variate(location=0.0, scale=1.0)
卡方分布变量
- 描述: 根据自由度生成一个卡方分布随机浮点数。
- 使用场景: 对假设检验、方差估计和拟合优度检验至关重要。
- 触发词: “生成一个自由度为 5 的卡方分布变量”
- 调用:
Fortuna.chi_squared_variate(degrees_of_freedom=5.0)
柯西分布变量
- 描述: 返回一个柯西分布随机浮点数,其特点是具有重尾。
- 使用场景: 适用于稳健统计分析、信号处理以及预期会出现异常值的场景。
- 触发词: “生成一个位置参数为 0、尺度参数为 1.0 的柯西分布变量”
- 调用:
Fortuna.cauchy_variate(location=0.0, scale=1.0)
Fisher F 分布变量
- 描述: 从由两组自由度定义的 Fisher F 分布中抽取一个随机浮点数。
- 使用场景: 用于 ANOVA 检验、方差分析和统计模型比较。
- 触发词: “生成一个自由度为 5 和 10 的 Fisher F 分布变量”
- 调用:
Fortuna.fisher_f_variate(degrees_of_freedom_1=5.0, degrees_of_freedom_2=10.0)
Student’s t 分布变量
- 描述: 根据指定的自由度生成一个 Student’s t 分布随机浮点数。
- 使用场景: 是小样本统计分析、置信区间估计和假设检验的重要组成部分。
- 触发词: “生成一个自由度为 10 的 Student’s t 分布变量”
- 调用:
Fortuna.student_t_variate(degrees_of_freedom=10.0)
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。