RoselineMCP
NUGET · ROSELINEMCP · SCANNED SEP 20
MCP server for C# code analysis and automated fixing using Roslyn analyzers and code fix providers.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 24 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4734 tokens (~338/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the RoselineMCP MCP server?
RoselineMCP runs locally as a NuGet package, launched with dnx RoselineMCP@3.1.0 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
nuget · RoselineMCP
claude mcp add atypical-consulting-roseline-mcp -- dnx RoselineMCP@3.1.0 --yes
{
"mcpServers": {
"atypical-consulting-roseline-mcp": {
"command": "dnx",
"args": [
"RoselineMCP@3.1.0",
"--yes"
]
}
}
} {
"servers": {
"atypical-consulting-roseline-mcp": {
"command": "dnx",
"args": [
"RoselineMCP@3.1.0",
"--yes"
]
}
}
} codex mcp add atypical-consulting-roseline-mcp -- dnx RoselineMCP@3.1.0 --yes
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"atypical-consulting-roseline-mcp": {
"type": "local",
"command": [
"dnx",
"RoselineMCP@3.1.0",
"--yes"
],
"enabled": true
}
}
} mcp_servers:
atypical-consulting-roseline-mcp:
command: "dnx"
args: ["RoselineMCP@3.1.0", "--yes"] {
"McpServers": {
"atypical-consulting-roseline-mcp": {
"Transport": "stdio",
"Command": "dnx",
"Arguments": [
"RoselineMCP@3.1.0",
"--yes"
]
}
}
} {
"mcpServers": {
"atypical-consulting-roseline-mcp": {
"command": "dnx",
"args": [
"RoselineMCP@3.1.0",
"--yes"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 0
- Stability: pass → 0.93 functional
- 17 Sept 26 0
- Stability: 0.97 → pass security
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
- Security disclosure: unverified → pass ▲ functional
- 13 Sept 26 0
- Security disclosure: pass → unverified ▼ functional
- 11 Sept 26 −2
- Stability: pass → 0.80 functional
- 10 Sept 26 0
- Stability: 0.97 → pass security
- 8 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed nuget/RoselineMCP@3.1.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | nuget |
| Reason | Signature present, unreadable |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze_solution Analyze Solution ~254
Analyze a C# solution and return diagnostics summary with details about errors, warnings, and info messages. Read-only: never modifies any files on disk. Limitations: loads a fresh workspace per call (no cache reuse), so it is slower than the project-scoped tools; MSBuild evaluation executes the project's own build logic; only http(s) URLs are treated as Git remotes. Example: analyze_solution{pathOrGit:'/repo/App.sln', severity:'Warning', maxDiagnostics:50} -> summary + top diagnostics.
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string|null | – | Git branch name (only used if pathOrGit is a Git URL) |
| exclude | string|null | – | Exclude pattern for project names (e.g., 'Test' to skip test projects) |
| include | string|null | – | Include pattern for project names (e.g., 'Core' to only analyze projects containing 'Core') |
| maxDiagnostics | integer | – | Maximum number of diagnostics to return (default: 100) |
| pathOrGit | string | yes | Path to solution file or directory containing .sln file, or Git repository URL |
| severity | string|null | – | Minimum severity level to include: Error, Warning, Info, or Hidden |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
apply_fixes Apply Fixes ~380
Apply code fixes for specified diagnostic IDs in a project. Defaults to preview mode: with previewOnly left unset (or true), no files are changed and only a diff is returned. Pass previewOnly=false explicitly to write the fixes to disk. Limitations: a .sln target fixes only its primary project — siblings are skipped and named in notes[]; IDs with no registered fixer are reported, not fixed; a change that introduces compiler errors is refused (applied=false, nothing written). Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: apply_fixes{ids:['RCS1213']} -> resolvedPath + changed files + patch + verification (preview; add previewOnly:false to write).
| Name | Type | Req | Description |
|---|---|---|---|
| allowIntroducedErrors | boolean | – | If false (the default), fixes whose result introduces compiler errors are refused and nothing is written: the response carries the patch and the introduced errors with applied=false. Set true to writ… |
| ids | array | yes | List of diagnostic IDs to fix (e.g., ['RCS1213', 'SA1101']) |
| max | integer | – | Maximum diagnostics returned in each verification list (default 20); the remainder are counted in verification.omitted. |
| previewOnly | boolean | – | If true (the default), only preview changes and return a diff — no files are modified. Set explicitly to false to apply the fixes and write changes to disk. |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
check_compilation Check Compilation ~318
Does this code compile right now, and what broke? Compiler errors only, in under a second on a warm workspace — use this INSTEAD OF running `dotnet build` after an edit, and after edits made by any tool, not just RoselineMCP's. Read-only: never modifies any files on disk. For an exploratory inventory of code quality — analyzer diagnostics (Roslynator RCS*, StyleCop, the project's own analyzers), severity statistics and which IDs are auto-fixable — use list_diagnostics instead; it is the slower, broader tool. Rule of thumb: check_compilation answers "is it still building?", list_diagnostics answers "what should I clean up?". Limitations: compiler diagnostics only, no analyzers; scopeComplete=false means not every dependent was seen. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: check_compilation{} -> resolvedPath + compiles + errors[] + scope/scopeComplete.
| Name | Type | Req | Description |
|---|---|---|---|
| max | integer | – | Maximum number of errors to return (default: 20); the remainder are counted in `omitted`. |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
create_patch Create Patch ~186
Create a unified diff patch between two text blobs. Read-only: operates purely on the provided strings and never touches the filesystem. Limitations: a pure string diff — it never reads or writes files, and fileName only labels the patch header. Example: create_patch{before:'a', after:'b', fileName:'x.cs'} -> unified diff + line counts.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | yes | The modified text content (after changes) |
| before | string | yes | The original text content (before changes) |
| fileName | string|null | – | Optional file name for the patch header (default: 'file.txt') |
| ignoreCase | boolean | – | If true, ignore case differences when computing the diff (default: false) |
| ignoreWhitespace | boolean | – | If true, ignore whitespace-only differences (trailing spaces, run-length) when computing the diff (default: false) |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
edit_member Edit Member ~430
Surgically replace, add, or delete a single C# member (method/property/field/etc.) and return a unified diff — instead of rewriting the whole file. Defaults to preview mode: with previewOnly left unset (or true), no files are changed. Pass previewOnly=false explicitly to write the change to disk. Limitations: one member at a time; refused if the change introduces compiler errors unless allowIntroducedErrors=true. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: edit_member{symbol:'UserService.GetUser', operation:'replace', newSource:'public User GetUser(int id) => _db.Find(id);'} -> diff + verification.
| Name | Type | Req | Description |
|---|---|---|---|
| allowIntroducedErrors | boolean | – | If false (the default), an edit that introduces compiler errors is refused and nothing is written: the response carries the diff and the introduced errors with applied=false. Set true to write it any… |
| max | integer | – | Maximum diagnostics returned in each verification list (default 20); the remainder are counted in verification.omitted. |
| newSource | string|null | – | New C# member declaration source (required for 'replace' and 'add'; ignored for 'delete') |
| operation | string | yes | Operation to perform: 'replace', 'add', or 'delete' |
| previewOnly | boolean | – | If true (the default), only preview the change and return a diff — no files are modified. Set explicitly to false to write the change to disk. |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| symbol | string | yes | For 'replace'/'delete': the member to edit. For 'add': the container type to add a member to. Simple or fully-qualified name. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
find_implementations Find Implementations ~261
List the implementations of an interface/member, overrides of a virtual/abstract member, or derived types of a class — as compact summaries, instead of reading candidate files to find them. Prefer this over Grep/Read to answer 'who implements/overrides/derives from this'. Read-only: never modifies any files on disk. Limitations: capped by max (default 100); spans the loaded solution only. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: find_implementations{symbol:'IRepository'} -> resolvedPath + implementations[] + totalFound.
| Name | Type | Req | Description |
|---|---|---|---|
| max | integer | – | Maximum number of results to return (default: 100) |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| symbol | string | yes | Interface, class, or member to find implementations/overrides/derived types for (simple or fully-qualified name) |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
find_references Find References ~289
List every use site of a C# symbol across the whole solution (file/line + a one-line snippet each) — instead of grepping and opening every referencing file. Prefer this over Grep/Read to answer 'where is this used'. Read-only: never modifies any files on disk. Limitations: capped by max (default 100); finds source references only, not reflection or string-based use. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: find_references{symbol:'UserService.GetUser', max:50} -> resolvedPath + references[] (file, line, snippet).
| Name | Type | Req | Description |
|---|---|---|---|
| includeDefinition | boolean | – | If true, also include the symbol's own declaration among the results (default: false) |
| max | integer | – | Maximum number of reference locations to return (default: 100) |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| symbol | string | yes | Symbol to find references for: a simple name or a fully-qualified name to disambiguate |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
get_call_graph Get Call Graph ~301
Trace who calls a C# method (and/or what it calls) as a depth-bounded, cycle-safe tree — instead of reading method bodies to follow control flow. Prefer this over Read to answer 'who calls this' / 'what does this call'. Read-only: never modifies any files on disk. Limitations: depth is capped at 3; virtual/interface dispatch resolves to declarations, not runtime targets. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: get_call_graph{method:'GetUser', direction:'callers', depth:2} -> a cycle-safe caller tree.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | Traversal depth, 1-3 (default: 1) |
| direction | string | – | Traversal direction: 'callers' (default), 'callees', or 'both' |
| max | integer | – | Maximum number of nodes to expand per direction (default: 50) |
| method | string | yes | Method to build the graph around (simple or fully-qualified name) |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
get_symbol_at_position Get Symbol At Position ~325
You have a file and line (from a diagnostic, stack trace, grep, or find_references) and want to know what C# symbol lives there — prefer this over Read. Resolves the position to the symbol (declared or referenced), returning its name, kind, signature, definition location, and isDeclaration; feed the fullName straight into get_symbol_info/find_references. Read-only: never modifies any files on disk. Limitations: file matches by name/path suffix, so an ambiguous suffix can resolve the wrong file; line-only prefers declarations. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: get_symbol_at_position{file:'UserService.cs', line:42} -> the symbol there + isDeclaration.
| Name | Type | Req | Description |
|---|---|---|---|
| column | integer|null | – | Optional 1-based column. Omit to resolve the most relevant symbol on the line (declarations win over references). |
| file | string | yes | File to resolve the position in (name or path suffix, e.g. 'UserService.cs' or 'Services/UserService.cs') |
| line | integer | yes | 1-based line number of the position |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
get_symbol_info Get Symbol Info ~288
Look up one C# symbol's kind, modifiers, signature, base types/interfaces, XML docs, and definition location — the token-cheap 'go to definition'. Prefer this over reading the whole file; pass includeSource:true to get the member's exact body instead of Read. Read-only: never modifies any files on disk. Limitations: a simple name can match several symbols — pass a fully-qualified name to disambiguate. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: get_symbol_info{symbol:'UserService.GetUser', includeSource:true} -> signature, docs, definition, source.
| Name | Type | Req | Description |
|---|---|---|---|
| includeSource | boolean | – | If true (the default), include the exact source text of the symbol's declaration |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| symbol | string | yes | Symbol to describe: a simple name (e.g. 'UserService') or a fully-qualified name (e.g. 'Acme.Users.UserService.GetUser') to disambiguate |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
get_type_hierarchy Get Type Hierarchy ~270
Show a C# type's base-class chain, implemented interfaces, and/or derived types as compact summaries — instead of reading the declaring files. Prefer this over Read/Grep to answer 'what does this inherit / who derives from it'. Read-only: never modifies any files on disk. Limitations: derived types are capped by max (default 100) and limited to the loaded solution. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: get_type_hierarchy{type:'UserService', direction:'both'} -> base chain, interfaces, derived types.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | – | Which direction to report: 'base', 'derived', or 'both' (default) |
| max | integer | – | Maximum number of derived types to return (default: 100) |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| type | string | yes | Type to inspect (simple or fully-qualified name) |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
list_diagnostics List Diagnostics ~347
What should I clean up here? A broad inventory of a project's diagnostics — compiler AND analyzer (Roslynator RCS*, StyleCop, the project's own analyzer references) — with per-ID and per-severity statistics and which IDs apply_fixes can fix. Read-only: never modifies any files on disk. Running the analyzers costs several times a bare compile, so this is the exploratory tool, not the edit-loop one. To ask "is it still building?" after an edit — compiler errors only, in under a second — use check_compilation instead. Limitations: runs third-party analyzers in-process; RoselineMCP:RunAnalyzers=false makes it compiler-only. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: list_diagnostics{ids:['CS0168'], max:50} -> resolvedPath + diagnostics[] + per-ID/severity stats.
| Name | Type | Req | Description |
|---|---|---|---|
| files | array|null | – | Optional list of file patterns to filter (e.g., ['Controller.cs', 'Service.cs']) |
| ids | array|null | – | Optional list of diagnostic IDs to filter (e.g., ['CS0168', 'CS0219']) |
| max | integer | – | Maximum number of diagnostic details to return (default: 100) |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
rename_symbol Rename Symbol ~376
Rename a C# symbol and update every reference across the solution using Roslyn, returning a unified diff. Defaults to preview mode: with previewOnly left unset (or true), no files are changed. Pass previewOnly=false explicitly to write the changes to disk. Limitations: the multi-file write is NOT atomic — an interrupted rename leaves some files written and some not. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: rename_symbol{symbol:'UserService.GetUser', newName:'FindUser'} -> changed files + diff + verification (preview; add previewOnly:false to write).
| Name | Type | Req | Description |
|---|---|---|---|
| allowIntroducedErrors | boolean | – | If false (the default), a rename that introduces compiler errors — including in a downstream project the caller never named — is refused and nothing is written: the response carries the diff and the… |
| max | integer | – | Maximum diagnostics returned in each verification list (default 20); the remainder are counted in verification.omitted. |
| newName | string | yes | New name for the symbol (must be a valid C# identifier) |
| previewOnly | boolean | – | If true (the default), only preview the rename and return a diff — no files are modified. Set explicitly to false to write the changes to disk. |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| symbol | string | yes | Symbol to rename (simple or fully-qualified name) |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
search_symbols Search Symbols ~350
Locate C# symbols by name (wildcard/substring), or outline a whole file, WITHOUT opening it. Prefer this over Read/Grep to find or survey code in an existing solution — it returns compact signatures + locations and costs far fewer tokens than reading files, especially large ones. Read-only: never modifies any files on disk. Limitations: capped by max (default 50); truncated says results were cut, not that none exist. Auto-discovery uses the SERVER's working directory (fixed at spawn), not yours: in a git worktree an omitted project silently resolves the MAIN checkout — check resolvedPath (also on failures, once a project resolved) or pass an absolute .sln/.csproj path. Example: search_symbols{query:'*Service', kinds:['class'], max:20} -> resolvedPath + symbol summaries.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string|null | – | Optional file (name or path suffix) to restrict the search to, or to outline when 'query' is omitted |
| kinds | array|null | – | Optional kind filter, e.g. ['class','interface','method','property','field','enum']; also accepts 'type' and 'member' |
| max | integer | – | Maximum number of symbols to return (default: 50) |
| project | string|null | – | Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory. |
| query | string|null | – | Name pattern to match (substring, or wildcard with * and ?, e.g. '*Service' or 'Get*'). Omit to outline a single file via the 'file' parameter. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | – | – |
| error | object|null | – | – |
| ok | boolean | – | – |
No examples provided.
What is the RoselineMCP MCP server?
RoselineMCP is an MCP server listed in the public MCP registry as io.github.Atypical-Consulting/roseline-mcp. MCP server for C# code analysis and automated fixing using Roslyn analyzers and code fix providers. This page covers its NuGet package (RoselineMCP).
Is the RoselineMCP MCP server safe to use?
RoselineMCP scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the RoselineMCP MCP server expose?
RoselineMCP exposes 14 tools: create_patch, check_compilation, edit_member, get_symbol_info, get_symbol_at_position, and 9 more. Their descriptions and schemas cost roughly 4,375 tokens of context every time the server is loaded.
Is the RoselineMCP MCP server still maintained?
RoselineMCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the RoselineMCP MCP server under?
RoselineMCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.