@@ -32,9 +32,6 @@ docker pull ghcr.io/infinityflowapp/csharp-mcp:latest
3232
3333# Run interactively
3434docker run -it ghcr.io/infinityflowapp/csharp-mcp:latest
35-
36- # Or use docker-compose
37- docker-compose run csharp-eval-mcp
3835```
3936
4037### From source
@@ -64,6 +61,7 @@ Either `csxFile` or `csx` must be provided, but not both.
6461### Examples
6562
6663For comprehensive examples, see the [ examples directory] ( examples/ ) :
64+
6765- [ Basic Execution] ( examples/basic-execution/ ) - Simple C# script execution
6866- [ Fibonacci Sequence] ( examples/fibonacci-sequence/ ) - Generating number sequences
6967- [ Data Processing] ( examples/data-processing/ ) - LINQ and data manipulation
@@ -146,6 +144,7 @@ Console.WriteLine("5 days".Humanize());
146144```
147145
148146The tool will automatically:
147+
149148- Download the specified packages from NuGet.org
150149- Resolve and download dependencies
151150- Cache packages for faster subsequent runs
@@ -189,46 +188,36 @@ Or if installed via dnx:
189188
190189### Claude Code
191190
192- Add to your Claude Code configuration ( ` claude_desktop_config.json ` ) :
191+ Add the MCP server using the CLI :
193192
194- - ** macOS** : ` ~/Library/Application Support/Claude/claude_desktop_config.json `
195- - ** Windows** : ` %APPDATA%\Claude\claude_desktop_config.json `
196- - ** Linux** : ` ~/.config/claude/claude_desktop_config.json `
193+ ** Using Docker:**
197194
198- ``` json
199- {
200- "mcpServers" : {
201- "csharp-eval" : {
202- "command" : " docker" ,
203- "args" : [
204- " run" , " -i" , " --rm" , " --pull=always" ,
205- " -v" , " ${HOME}:${HOME}" ,
206- " -w" , " ${PWD}" ,
207- " ghcr.io/infinityflowapp/csharp-mcp:latest"
208- ]
209- }
210- }
211- }
195+ * Basic setup:*
196+
197+ ``` bash
198+ claude mcp add csharp-eval docker -- run -i --rm ghcr.io/infinityflowapp/csharp-mcp:latest
212199```
213200
214- Note: The volume mounting ( ` -v ${HOME}:${HOME} ` ) allows the tool to access .csx files from your filesystem.
201+ * With file system access: *
215202
216- Or if installed via dnx:
203+ ``` bash
204+ claude mcp add csharp-eval docker -- run -i --rm --pull=always -v " ${HOME} :${HOME} " -w " ${PWD} " ghcr.io/infinityflowapp/csharp-mcp:latest
205+ ```
217206
218- ``` json
219- {
220- "mcpServers" : {
221- "csharp-eval" : {
222- "command" : " dnx" ,
223- "args" : [" run" , " InfinityFlow.CSharp.Eval" ],
224- "env" : {
225- "CSX_ALLOWED_PATH" : " /Users/your-username/scripts"
226- }
227- }
228- }
229- }
207+ * With restricted script directory:*
208+
209+ ``` bash
210+ claude mcp add csharp-eval -e CSX_ALLOWED_PATH=" /scripts" docker -- run -i --rm -v " ${HOME} /scripts:/scripts:ro" ghcr.io/infinityflowapp/csharp-mcp:latest
230211```
231212
213+ ** Using dnx:**
214+
215+ ``` bash
216+ claude mcp add csharp-eval -e CSX_ALLOWED_PATH=" /Users/your-username/scripts" dnx -- run InfinityFlow.CSharp.Eval
217+ ```
218+
219+ The volume mounting (` -v ${HOME}:${HOME} ` ) allows the tool to access .csx files from your filesystem.
220+
232221### VS Code
233222
234223Create ` .vscode/mcp.json ` :
@@ -331,7 +320,6 @@ csharp-mcp/
331320│ └── nunit-testing/ # Programmatic test execution
332321├── Directory.Packages.props # Central package management
333322├── Dockerfile # Docker containerization
334- ├── docker-compose.yml # Docker compose configuration
335323└── .github/
336324 └── workflows/ # GitHub Actions CI/CD
337325 ├── ci-cd.yml # Main CI/CD pipeline
@@ -387,6 +375,7 @@ export CSX_ALLOWED_PATH=/path/one:/path/two:/path/three
387375```
388376
389377** Important Notes:**
378+
390379- Path restrictions are ** disabled inside Docker containers** (when ` DOTNET_RUNNING_IN_CONTAINER=true ` )
391380- This is because Docker already provides isolation via volume mounts
392381- If not set, file access is unrestricted (use with caution)
0 commit comments