Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

RoselineMCP

NUGET · ROSELINEMCP

MCP server for C# code analysis and automated fixing using Roslyn analyzers and code fix providers.

Available components

−1 this week 82 Trust /100

Last scanned (18 hours ago)

Scores higher than 73% of NuGet servers

Category Developer Tools

Trust breakdown (7 categories)

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
  • Build provenance not yet verified. View diagnostics → Unverified
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 21 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability64
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5223 tokens (~348/item across 15 items; 15 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 Management93
  • Stability observed for 28 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 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 16 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
Changelog

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.

  • 3 Nov 26 −1
    • Stability: pass → 0.90 functional
  • 31 Oct 26 0
    • Security disclosure: unverified → pass ▲ functional
  • 30 Oct 26 0
    • Security disclosure: pass → unverified ▼ functional
  • 28 Oct 26 0
    • Stability: 0.97 → pass security
  • 27 Oct 26 0
    • Stability: pass → 0.97 functional
  • 17 Oct 26 0
    • Stability: 0.97 → pass security
  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Oct 26 +42
    • Injection markers: unverified → pass ▲ security
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Stability: unverified → 0.93 ▲ functional
Diagnostics

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 4 Nov 2026 · Analysed nuget/RoselineMCP@3.2.1

Provenance Inconclusive

We could not complete the check, so nothing is claimed either way. This is a gap on our side, not a finding about the package.

Result Inconclusive
Ecosystem nuget
Reason Signature present, unverified

Signer

Signed as Repository signature, names nuget.org
Subject CN=NuGet.org Repository by Microsoft,O=NuGet.org Repository by Microsoft,L=Redmond,ST=Washington,C=US
Issuer CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1,O=DigiCert\, Inc.,C=US
Valid from 23 Feb 2024
Valid until 18 May 2027
Service index https://api.nuget.org/v3/index.json
Owners phmatray

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

Registry declarations For information only

What the registry and the package's own manifest say about this version. The publisher or the registry writes these, nothing here is verified, and none of it affects the score.

Repository https://github.com/Atypical-Consulting/RoselineMCP
Repository type git
Commit 44b9fb38730c3909da74517326ceb21124031e15
Project URL https://github.com/Atypical-Consulting/RoselineMCP
MCP tools · 15 exposed · ~4,864 tokens

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 →

Tool Tokens
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.

NameTypeReqDescription
branchstring|null–Git branch name (only used if pathOrGit is a Git URL)
excludestring|null–Exclude pattern for project names (e.g., 'Test' to skip test projects)
includestring|null–Include pattern for project names (e.g., 'Core' to only analyze projects containing 'Core')
maxDiagnosticsinteger–Maximum number of diagnostics to return (default: 100)
pathOrGitstringyesPath to solution file or directory containing .sln file, or Git repository URL
severitystring|null–Minimum severity level to include: Error, Warning, Info, or Hidden
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

apply_fixes ~406

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); with previewOnly=false, a non-absolute project is REFUSED when the checkout has linked worktrees. 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).

NameTypeReqDescription
allowIntroducedErrorsboolean–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…
idsarrayyesList of diagnostic IDs to fix (e.g., ['RCS1213', 'SA1101'])
maxinteger–Maximum diagnostics returned in each verification list (default 20); the remainder are counted in verification.omitted.
previewOnlyboolean–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.
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

check_compilation ~323

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.

NameTypeReqDescription
maxinteger–Maximum number of errors to return (default: 20); the remainder are counted in `omitted`.
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

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.

NameTypeReqDescription
afterstringyesThe modified text content (after changes)
beforestringyesThe original text content (before changes)
fileNamestring|null–Optional file name for the patch header (default: 'file.txt')
ignoreCaseboolean–If true, ignore case differences when computing the diff (default: false)
ignoreWhitespaceboolean–If true, ignore whitespace-only differences (trailing spaces, run-length) when computing the diff (default: false)
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

edit_member ~456

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; with previewOnly=false, a non-absolute project is REFUSED when the checkout has linked worktrees. 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.

NameTypeReqDescription
allowIntroducedErrorsboolean–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…
maxinteger–Maximum diagnostics returned in each verification list (default 20); the remainder are counted in verification.omitted.
newSourcestring|null–New C# member declaration source (required for 'replace' and 'add'; ignored for 'delete')
operationstringyesOperation to perform: 'replace', 'add', or 'delete'
previewOnlyboolean–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.
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
symbolstringyesFor 'replace'/'delete': the member to edit. For 'add': the container type to add a member to. Simple or fully-qualified name.
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

find_implementations ~266

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.

NameTypeReqDescription
maxinteger–Maximum number of results to return (default: 100)
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
symbolstringyesInterface, class, or member to find implementations/overrides/derived types for (simple or fully-qualified name)
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

find_references ~294

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).

NameTypeReqDescription
includeDefinitionboolean–If true, also include the symbol's own declaration among the results (default: false)
maxinteger–Maximum number of reference locations to return (default: 100)
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
symbolstringyesSymbol to find references for: a simple name or a fully-qualified name to disambiguate
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

get_call_graph ~306

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.

NameTypeReqDescription
depthinteger–Traversal depth, 1-3 (default: 1)
directionstring–Traversal direction: 'callers' (default), 'callees', or 'both'
maxinteger–Maximum number of nodes to expand per direction (default: 50)
methodstringyesMethod to build the graph around (simple or fully-qualified name)
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

get_symbol_at_position ~330

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.

NameTypeReqDescription
columninteger|null–Optional 1-based column. Omit to resolve the most relevant symbol on the line (declarations win over references).
filestringyesFile to resolve the position in (name or path suffix, e.g. 'UserService.cs' or 'Services/UserService.cs')
lineintegeryes1-based line number of the position
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

get_symbol_info ~293

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.

NameTypeReqDescription
includeSourceboolean–If true (the default), include the exact source text of the symbol's declaration
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
symbolstringyesSymbol to describe: a simple name (e.g. 'UserService') or a fully-qualified name (e.g. 'Acme.Users.UserService.GetUser') to disambiguate
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

get_type_hierarchy ~275

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.

NameTypeReqDescription
directionstring–Which direction to report: 'base', 'derived', or 'both' (default)
maxinteger–Maximum number of derived types to return (default: 100)
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
typestringyesType to inspect (simple or fully-qualified name)
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

list_diagnostics ~352

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.

NameTypeReqDescription
filesarray|null–Optional list of file patterns to filter (e.g., ['Controller.cs', 'Service.cs'])
idsarray|null–Optional list of diagnostic IDs to filter (e.g., ['CS0168', 'CS0219'])
maxinteger–Maximum number of diagnostic details to return (default: 100)
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

rename_symbol ~402

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; with previewOnly=false, a non-absolute project is REFUSED when the checkout has linked worktrees. 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).

NameTypeReqDescription
allowIntroducedErrorsboolean–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…
maxinteger–Maximum diagnostics returned in each verification list (default 20); the remainder are counted in verification.omitted.
newNamestringyesNew name for the symbol (must be a valid C# identifier)
previewOnlyboolean–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.
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
symbolstringyesSymbol to rename (simple or fully-qualified name)
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

search_symbols ~355

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.

NameTypeReqDescription
filestring|null–Optional file (name or path suffix) to restrict the search to, or to outline when 'query' is omitted
kindsarray|null–Optional kind filter, e.g. ['class','interface','method','property','field','enum']; also accepts 'type' and 'member'
maxinteger–Maximum number of symbols to return (default: 50)
projectstring|null–Project name, directory, .csproj, .sln, or .slnx path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
querystring|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.
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

suggest_fix_examples ~366

How do I fix this diagnostic when apply_fixes has no fixer for it? Given a diagnostic ID, finds sites in the same solution with the same syntactic/symbol shape where that diagnostic does NOT fire, plus the rule's title, description and help link — evidence for writing the edit yourself. Read-only: proposes nothing, writes nothing; edit_member/apply_fixes still compile-verify your change. Limitations: examples are clean sites, not verified fixes; none may exist; runs the analyzers like list_diagnostics; scan bounded by maxCandidates. 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: suggest_fix_examples{id:'CS0121', maxExamples:3} -> rule + alert + examples[].

NameTypeReqDescription
filestring|null–Optional file (name or path suffix) of the occurrence to anchor on; default: the first occurrence
idstringyesDiagnostic ID to find examples for, e.g. 'CS0121', 'CA1848', 'RCS1175'
lineinteger|null–Optional 1-based line of the occurrence to anchor on
maxCandidatesinteger–Maximum number of shape-candidate syntax nodes to scan (default: 2000)
maxExamplesinteger–Maximum number of examples to return (default: 3)
projectstring|null–Project name, directory, .csproj, or .sln path. Optional — if omitted, RoselineMCP auto-discovers the solution/project from its working directory.
NameTypeReqDescription
dataobject|null––
errorobject|null––
okboolean––

No examples provided.

Install

How do I install the RoselineMCP MCP server?

RoselineMCP runs locally as a NuGet package, launched with dnx RoselineMCP@3.2.1 --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

# add to Claude Code
claude mcp add atypical-consulting-roseline-mcp -- dnx RoselineMCP@3.2.1 --yes
Common questions

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 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 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 15 tools: create_patch, check_compilation, edit_member, get_symbol_info, get_symbol_at_position, and 10 more. Their descriptions and schemas cost roughly 4,864 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 4 November 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.