G
goswinr/Caddis
A MCP server to run F# interactive in Rhino and Revit
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
- ★ 数取值
- 2 ★ · goswinr/Caddis · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
- 收录与活跃
- 收录于 2026-10-26 · 最近见到 2026-11-14 · 共见到 23 次 · 被 1 个来源列出
- 评分构成
- 综合分 103 · 2 ★ · 1 个来源 · repo
常见问题(答案都来自我们的记录)
它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
goswinr/Caddis;我们收录于 2026-10-26;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。# Caddis
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server to host F# interactive in Rhino or Revit.
This gives your AI agent the full power to do anything that RhinoCommon or the RevitAPI can do.
Your LLM already knows how to use these APIs, but can't execute them directly, unless hosted inside Rhino or Revit.
Individual Rhino/Revit methods are not registered as MCP tools. Agents discover Caddis's tools through MCP,
then use caddisdescribe to explore the API loaded in the running app: search names, list the types in a namespace,
inspect a type's members, or look up a method's overloads. It returns signatures in F# syntax from reflection,
with documentation from XML files when available, so agents can check the installed API version before using it.
They then write F# code that calls those methods, check it with caddischeck, and execute it with caddiseval.
Caddis runs F# scripts directly from inside the Rhino or Revit process and is controlled via HTTP:
AI agents like Claude or Codex generate the F# code and send it for evaluation and execution inside the host application via it's MCP endpoint.
Plus, you get the F# code it ran too, so you could make a permanent plugin form from it.
This makes it ideal for AI-driven automation and rapid prototyping within Rhino and Revit.
> Early development. Tested in Revit 2024 and 2026.5 and Rhino 8.35 and 9.0-beta on Windows, not yet on Mac.
| App | Runs in | Install | Read more |
| Rhino | Rhino 8.19 or later on Windows and Mac, Rhino 9 Beta | Rhino's PackageManager, search for Caddis (after the first Yak release) | Caddis for Rhino |
| Revit | Revit 2024 to 2027 on Windows | Caddis.Revit-win-Setup.exe from the latest release | Caddis for Revit |
Also install the .NET SDK 10 or newer, so that scripts can use NuGet packages via #r "nuget: Name".
It works for every version of Rhino and Revit. Caddis runs without it, only NuGet packages need it, see NuGet packages.
## What it does
Hosts one persistent F# Interactive session inside the app.
Values, functions and types defined in one run stay available in the next.
Serves an MCP endpoint at /mcp, so AI agents can run F# in the app, and plain REST endpoints for curl and scripts.
Returns results: status, the value of the last expression, stdout, stderr, compiler diagnostics, exceptions with the script line, notes of the app, e.g. Revit's warnings, and files.
Via MCP as compact text for the model with images inline, long output shortened and saved to a file. Via REST as JSON.
Runs scripts either on the app's UI thread (safest, the default) or on a background thread (cancellable, with timeouts).
Wraps every run in one undo step, captures viewports as PNG, and exports to the file formats of the app.
Looks up the signatures and docs of the loaded APIs, e.g. RhinoCommon or the Revit API, so agents don't have to guess API names and overloads.
Shows the server state, the recent runs, and the output and code of the selected run in a panel docked in the app, in the app's light or dark theme.
In Rhino it also runs Rhino commands like typed at the command line, in Revit it reports Revit's blocking dialogs and presses their buttons.
What is specific to each app, its installation, commands, panel and API, is in Caddis for Rhino and Caddis for Revit.
This gives your AI agent the full power to do anything that RhinoCommon or the RevitAPI can do.
Your LLM already knows how to use these APIs, but can't execute them directly, unless hosted inside Rhino or Revit.
Individual Rhino/Revit methods are not registered as MCP tools. Agents discover Caddis's tools through MCP,
then use caddisdescribe to explore the API loaded in the running app: search names, list the types in a namespace,
inspect a type's members, or look up a method's overloads. It returns signatures in F# syntax from reflection,
with documentation from XML files when available, so agents can check the installed API version before using it.
They then write F# code that calls those methods, check it with caddischeck, and execute it with caddiseval.
Caddis runs F# scripts directly from inside the Rhino or Revit process and is controlled via HTTP:
AI agents like Claude or Codex generate the F# code and send it for evaluation and execution inside the host application via it's MCP endpoint.
Plus, you get the F# code it ran too, so you could make a permanent plugin form from it.
This makes it ideal for AI-driven automation and rapid prototyping within Rhino and Revit.
> Early development. Tested in Revit 2024 and 2026.5 and Rhino 8.35 and 9.0-beta on Windows, not yet on Mac.
| App | Runs in | Install | Read more |
| Rhino | Rhino 8.19 or later on Windows and Mac, Rhino 9 Beta | Rhino's PackageManager, search for Caddis (after the first Yak release) | Caddis for Rhino |
| Revit | Revit 2024 to 2027 on Windows | Caddis.Revit-win-Setup.exe from the latest release | Caddis for Revit |
Also install the .NET SDK 10 or newer, so that scripts can use NuGet packages via #r "nuget: Name".
It works for every version of Rhino and Revit. Caddis runs without it, only NuGet packages need it, see NuGet packages.
## What it does
Hosts one persistent F# Interactive session inside the app.
Values, functions and types defined in one run stay available in the next.
Serves an MCP endpoint at /mcp, so AI agents can run F# in the app, and plain REST endpoints for curl and scripts.
Returns results: status, the value of the last expression, stdout, stderr, compiler diagnostics, exceptions with the script line, notes of the app, e.g. Revit's warnings, and files.
Via MCP as compact text for the model with images inline, long output shortened and saved to a file. Via REST as JSON.
Runs scripts either on the app's UI thread (safest, the default) or on a background thread (cancellable, with timeouts).
Wraps every run in one undo step, captures viewports as PNG, and exports to the file formats of the app.
Looks up the signatures and docs of the loaded APIs, e.g. RhinoCommon or the Revit API, so agents don't have to guess API names and overloads.
Shows the server state, the recent runs, and the output and code of the selected run in a panel docked in the app, in the app's light or dark theme.
In Rhino it also runs Rhino commands like typed at the command line, in Revit it reports Revit's blocking dialogs and presses their buttons.
What is specific to each app, its installation, commands, panel and API, is in Caddis for Rhino and Caddis for Revit.
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/goswinr-caddis/)
- 来源
- github · https://github.com/goswinr/Caddis
- 按领域浏览
- 开源项目
- Traction
- 2 ★
- 收录于
- 今天
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。