Token导航 LogoToken导航TokenDH.com
Roslyn Stone logo
运维云端未说明官方级别未说明来源级核验

Roslyn Stone

MCP Server

Roslyn-Stone是一个基于Roslyn编译器的C#沙盒环境,支持单文件程序开发、NuGet包加载和实时执行验证,适用于快速构建命令行工具和自动化脚本。

工具数

0

提示词数

0

GitHub Stars

5

资源数

0
代码执行C#ClaudeClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dylanlangston

提供方

dylanlangston

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

______________________________________________________________________

书名:罗斯林·斯通 表情符号🪨 颜色来源:灰色 颜色致:蓝色 sdk:docker 应用端口:7860 固定:false 标签:

  • 主控程序
  • C#
  • 罗斯林
  • 交互式解释器
  • 建设mcp轨道企业

______________________________________________________________________

罗斯林·斯通

备注该项目与GitHub Copilot合作构建,拥抱人工智能辅助开发的未来。

一个对开发人员和LLM友好的C#沙箱,用于通过模型上下文协议(MCP)创建单文件实用程序。Roslyn Stone被命名为对帮助解码语言的古代人工制品Rosetta Stone的俏皮致敬,Roslyn Stone帮助人工智能系统使用基于文件的应用程序(顶级语句)创建可运行的C#程序。

使用Roslyn编译器的强大功能构建完整、可运行的.cs文件。通过MCP执行C#代码、验证语法、加载NuGet包和查找文档,以便与Claude code、VS code和其他AI驱动的开发工具无缝集成。

非常适合创建命令行实用程序、数据处理脚本、自动化工具和快速C#程序,而无需项目脚手架。

Docker快速入门

最快的入门方法是使用预构建的Docker容器和您最喜欢的启用MCP的编辑器:

克劳德代码/VS代码/光标

将以下内容添加到MCP配置文件中:

Linux/macOS: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json\ 视窗: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

{
   "mcpServers": {
       "roslyn-stone": {
           "command": "docker",
           "args": [
               "run",
               "-i",
               "--rm",
               "-e", "DOTNET_USE_POLLING_FILE_WATCHER=1",
               "ghcr.io/dylanlangston/roslyn-stone:latest"
           ]
       }
   }
}

使用Podman? 只需更换 "docker" 随着 "podman" 在命令字段中。

克劳德桌面

增添 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或同等版本:

{
   "mcpServers": {
       "roslyn-stone": {
           "command": "docker",
           "args": [
               "run",
               "-i",
               "--rm",
               "-e", "DOTNET_USE_POLLING_FILE_WATCHER=1",
               "ghcr.io/dylanlangston/roslyn-stone:latest"
           ]
       }
   }
}

就是这样!该容器以最小的设置和增强的安全性提供了C#代码的隔离执行。

特性

基于文件的C#应用程序 -使用与对齐的顶级语句创建单文件实用程序。NET 10 dotnet run app.cs 特征\ 内联包加载 -使用 nugetPackages 测试期间加载包的参数,最终确定 #:package 独立应用程序指令\ 通过Roslyn执行C# -完整执行并测试C#代码。NET 10支持和递归NuGet依赖解析\ 迭代开发 -使用可选的有状态会话和上下文管理逐步构建程序\ 实时错误反馈 -获取详细的编译错误和警告以及可操作的消息\ 资源和工具 -正确的MCP分离:资源(数据)与工具(操作)\ 文档访问 -查询。NET类型/方法文档通过 doc:// 资源URI(包括System.String等核心SDK类型)\ NuGet集成 -通过以下方式搜索套餐 nuget:// 资源、工具加载、完全依赖树解析\ MCP协议 -具有stdio和HTTP传输的官方ModelContextProtocol SDK\ 双重运输 -支持stdio(本地)和HTTP(远程)MCP连接\ AI友好 -通过模型上下文协议为LLM交互而设计\ 令牌优化提示 -使用创建实用程序的有效指导。NET 10指令示例\ 容器化 -Docker支持。NET Aspire编排\ 开放遥测 -内置日志、指标和跟踪的可观察性

建筑

Roslyn Stone实现了模型上下文协议(MCP),以帮助LLM创建单文件C#实用程序。它遵循最佳实践,正确区分:

  • 资源 (被动数据源):基于URI的文档只读访问(doc://),NuGet包(nuget://),以及执行状态(repl://)
  • 工具 (主动操作):用于构建实用程序的代码执行、验证和包加载
  • 提示 (优化模板):创建基于文件的C#应用程序的令牌高效指南

该解决方案遵循干净的架构原则和函数式编程模式。它实现了动态代码编译和执行的最佳实践,包括正确使用AssemblyLoadContext进行内存管理。

关键组件

  • 上下文管理:具有自动清理功能的线程安全会话生命周期(超时30分钟)
  • 正式执行:变量和类型在迭代开发的会话中保持不变
  • 资源发现:执行前查询文档、包和状态,以实现高效的工作流
  • 令牌优化:提示引导LLM创建完整、可运行的.cs文件

MCP_ARCHITECTURE.md 详细的设计文件和 DYNAMIC_COMPILATION_BEST_PRACTICES.md 有关编译详细信息。

RoslynStone/
├── src/
│   ├── RoslynStone.Api/            # Console Host with MCP Server
│   ├── RoslynStone.Core/           # Domain models (ExecutionResult, PackageMetadata, etc.)
│   ├── RoslynStone.Infrastructure/ # MCP Tools, Roslyn services, functional helpers
│   ├── RoslynStone.ServiceDefaults/# OpenTelemetry and Aspire defaults
│   └── RoslynStone.AppHost/        # Aspire orchestration
└── tests/
    ├── RoslynStone.Tests/          # xUnit unit and integration tests
    ├── RoslynStone.Benchmarks/     # BenchmarkDotNet performance tests
    └── RoslynStone.LoadTests/      # HTTP load and concurrency tests

建筑原理

  • 函数式编程:利用LINQ、纯函数和函数组合
  • 直接服务电话:MCP工具直接调用服务,无需抽象层
  • 线程安全:静态和实例级同步,以实现可靠的并行执行
  • 不可变模型:在适当的情况下使用记录和只读属性

MCP资源(只读数据访问)

资源提供对被动数据源的基于URI的访问:

  • doc://{symbolName} - .NET XML文档查找

- 例子: doc://System.String, doc://System.Linq.Enumerable.Select - 支持NuGet包: doc://{packageId}@{symbolName} - 例子: doc://Newtonsoft.Json@Newtonsoft.Json.JsonConvert

  • nuget://search?q={query} -搜索NuGet包

- 例子: nuget://search?q=json&take=10

  • nuget://packages/{id}/versions -获取软件包版本列表

- 例子: nuget://packages/Newtonsoft.Json/versions

  • nuget://packages/{id}/readme -获取包README

- 例子: nuget://packages/Newtonsoft.Json/readme?version=13.0.3

  • repl://state -REPL的一般信息和功能
  • repl://sessions -列出活动的REPL会话
  • repl://sessions/{contextId}/state -会话特定元数据

MCP工具(主动操作)

工具执行操作并可以修改状态。所有工具都支持可选的上下文管理:

执行工具:

  • EvaluateCharp -执行C#代码以创建和测试单文件实用程序

- 可选的 contextId 迭代开发参数 - 退货 contextId 用于会话连续性

  • 验证竖琴 -执行前验证C#语法和语义

- 可选的 contextId 用于上下文感知验证

  • ResetRepl -重置执行会话

- 可选的 contextId 重置特定会话或所有会话

  • GetReplInfo 的 -获取执行环境信息和功能

- 可选的 contextId 用于会话特定状态 - 返回框架版本、功能、提示和示例

NuGet工具:

  • LoadNuGetPackage -将NuGet包加载到REPL环境中

- 包在会话中持续存在,直到重置

  • 搜索NuGet软件包 -搜索NuGet包

- 参数: query, skip, take 用于分页 - 替代方案 nuget://search 为没有资源支持的客户端提供资源

  • GetNuGetPackage版本 -获取包的所有版本

- 参数: packageId - 替代方案 nuget://packages/{id}/versions 资源

  • GetNuGetPackageReadme -获取包README内容

- 参数: packageId,可选 version - 替代方案 nuget://packages/{id}/readme 资源

文档工具:

  • Get文档 -获取的XML文档。NET类型/方法

- 参数: symbolName,可选 packageId - 替代方案 doc:// 为没有资源支持的客户端提供资源 - 示例:GetDocument(“System.String”)或GetDocumentation(“JsonConvert”、“Newtonsoft.Json”)

注: 提供资源和工具是为了实现最大的客户端兼容性。资源是被动数据访问的首选,而工具则适用于所有MCP客户端。

MCP提示

Roslyn Stone内置了提示,帮助LLM创建单文件C#实用程序:

  • 从CsharpRepl开始 -全面介绍基于文件的C#应用程序、开发工作流程和最佳实践
  • ReplBestPractices -创建单文件实用程序的模式及完整示例
  • 使用软件包 -如何在实用程序中发现、评估和使用NuGet包
  • 软件包集成指南 -通过详细的实用程序示例深入了解包集成

这些提示提供了创建可运行的.cs文件的详细指导,包括示例、常见模式和成功提示。

它能做什么?

配置后,您的AI助手可以帮助您创建与对齐的单文件C#实用程序。NET 10的基于文件的应用程序功能:

构建一个简单的实用程序:

User: "Create a utility that lists files in the current directory"
Assistant: [Calls EvaluateCsharp with complete file-based app code]
→ Returns complete .cs file using top-level statements
→ Can be run directly with: dotnet run utility.cs

使用软件包创建自包含的应用程序:

User: "Create a JSON formatter utility"
Assistant: 
  1. [Searches packages: nuget://search?q=json]
  2. [Tests with nugetPackages parameter: EvaluateCsharp(..., nugetPackages: [{packageName: "Newtonsoft.Json", version: "13.0.3"}])]
  3. [Returns complete json-formatter.cs with #:package directive]
→ Complete self-contained app:
  #:package Newtonsoft.Json@13.0.3
  using Newtonsoft.Json;
  // ... utility code ...
→ Run with: dotnet run json-formatter.cs (no .csproj needed!)

查询文档。NET类型:

User: "Show me how to use System.String.Split"
Assistant: [Option 1: Reads doc://System.String.Split resource]
         [Option 2: Calls GetDocumentation("System.String.Split")]
→ Returns XML documentation with summary, parameters, examples

执行前验证:

User: "Check if this C# code is valid: "
Assistant: [Calls ValidateCsharp with code]
→ Returns syntax validation results with detailed diagnostics

带上下文的迭代开发:

User: "Start a CSV processor utility"
Assistant: [EvaluateCsharp with createContext=true, nugetPackages: CsvHelper]
→ Returns contextId for session
User: "Add filtering by date"
Assistant: [EvaluateCsharp with contextId, adds filtering logic]
→ Builds incrementally on previous code

AI助手使用创建完整、可运行的单文件C#程序。NET10的现代语法——不需要类、Main方法或项目文件样板。

对于开发者

想要贡献、从源代码运行或了解更多内部信息吗?查看我们的综合 入门指南 用于:

  • 从源头构建
  • 开发环境设置
  • 运行测试和基准测试
  • 添加新的MCP工具
  • 使用MCP检查器进行调试
  • 建筑细部

安全考虑

⚠️ 重要:这是一个代码执行服务。采用适当的安全措施进行部署:

  • 在隔离的容器/沙箱中运行
  • 实施速率限制
  • 添加身份验证/授权
  • 限制网络访问
  • 监控资源使用情况
  • 尽可能使用只读文件系统

未来的增强功能

  • \[x\] 完整的NuGet包解析和加载
  • \[x\] Docker容器支持
  • \[x\] OpenTetry集成
  • \[\]具有用户隔离的持久REPL会话
  • \[\]代码段历史和缓存
  • \[\]语法高亮显示和IntelliSense数据
  • \[\]WebSocket支持交互式会话
  • \[\]多架构容器映像(amd64、arm64)

贡献

欢迎投稿!请查看我们的 入门指南 获取开发设置说明。请随时提交问题和拉取请求。

许可证

许可证 文件以获取详细信息。

推荐配对:微软学习MCP

为了获得创建C#实用程序的最佳体验, 我们建议将Roslyn Stone与Microsoft Learn MCP服务器一起使用 ().

为什么要配对这些工具?

  • 罗斯林·斯通:为构建实用程序提供C#代码执行、验证和包加载
  • 微软学习MCP:提供全面。NET文档、API参考资料以及来自Microsoft官方学习的代码示例

它们共同实现了:

  1. 搜索官方文档 (微软学习MCP)→ 查找API用C#代码测试 (罗斯林·斯通)
  2. 获取代码示例 (微软学习)→ 执行并验证 (罗斯林·斯通)→ 构建实用程序
  3. 查找NET类型 (两者)→ 了解用法 (学习文档)→ 测试实施 (罗斯林·斯通)

工作流程示例:

User: "Create a utility to parse JSON files"
Assistant:
  1. [microsoft-learn MCP: Searches for JSON documentation]
  2. [microsoft-learn MCP: Gets System.Text.Json code samples]
  3. [roslyn-stone: Tests code with EvaluateCsharp]
  4. [roslyn-stone: Returns complete json-parser.cs]
→ Best of both worlds: Official docs + live execution

设置两台服务器:

{
  "mcpServers": {
    "roslyn-stone": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/dylanlangston/roslyn-stone:latest"]
    },
    "microsoft-learn": {
      "command": "npx",
      "args": ["-y", "@microsoft/docs-mcp-server"]
    }
  }
}

这种结合提供了全面的。NET文档以及实时C#执行,提供终极实用程序开发体验。

了解更多

目录标签

目录标签

代码执行C#ClaudeC#开发本地部署沙盒环境NuGet集成AI辅助开发

支持客户端

ClaudeVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP