Token导航 LogoToken导航

MCP Server · 开发工具

Dotnet Sherlock MCP

Sherlock MCP for .NET是一个全面的模型上下文协议(MCP)服务器,为.NET程序集提供深度内省功能,使语言学习模型(LLM)能够精确分析和理解.NET代码。

未说明官方级别未说明来源级核验工具 31
代码分析.NET开发C#Claude代码生成Claude DesktopCursor

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
jcucci
提供方
jcucci

工具数量

31

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

2 个

MCP World

选型结论

Dotnet Sherlock MCP 属于开发工具类 MCP Server,公开资料标注 31 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cursor,没有现成的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

未说明

认证方式

访问 Token

部署方式

仅本地运行

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 31 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

夏洛克MCP。网

夏洛克MCP。网 是一个全面的模型上下文协议(MCP)服务器,为提供深度自检功能。NET程序集。它使语言学习模型(LLMs)能够分析和理解您的语言。NET代码,为复杂的开发场景提供准确和上下文感知的响应。

对于希望利用LLM功能进行以下操作的开发人员来说,此工具至关重要:

  • 深度代码库分析 -理解复杂。NET体系结构和依赖关系
  • 精确的类型信息 -获取有关类型、成员及其签名的详细元数据
  • 自动化文档 -提取和利用XML文档和属性
  • 定制工具 -构建与交互的复杂工具。NET程序集
  • 代码生成 -基于现有类型结构创建准确的代码

主要特点

  • 综合MCP服务器:为提供31多种专用工具。NET程序集分析
  • 高级装配自检:基于深度反思的类型、成员和元数据分析
  • 富会员分析:方法、属性、字段、事件和构造函数的详细检查
  • 智能过滤和分页:按名称/属性进行高级过滤,对大型数据集进行高效分页
  • XML文档集成:自动提取摘要、参数、返回和备注
  • 性能优化:缓存、流媒体和内存高效处理
  • 稳定的JSON API:具有版本控制和结构化错误代码的一致信封
  • .NET 9.0本机:建立在最新的基础上。NET平台,具有现代C#功能
  • 项目集成:解决方案和项目文件分析,并解决依赖关系

安装

从NuGet安装全局工具(添加 sherlock-mcp 到您的路径):

dotnet tool install -g Sherlock.MCP.Server

或者,在开发过程中,您可以在本地运行服务器:

dotnet run --project src/server/Sherlock.MCP.Server.csproj

配置您的MCP客户端

Sherlock作为标准MCP服务器运行,通过stdio进行通信。

  • 光标:设置→ MCP/定制工具→ 添加工具→ 命令: sherlock-mcp
  • Claude Desktop/其他MCP客户端:添加一个指向 sherlock-mcp 命令。JSON条目示例(有关确切的文件位置/格式,请参阅客户的文档):
{
  "servers": {
    "sherlock": {
      "command": "sherlock-mcp"
    }
  }
}

不需要任何论据。服务器在启动时自动注册所有工具。

自动配置。NET项目

在使用时自动使用Sherlock。NET代码,添加以下配置:

克劳德代码(Claude.md)

将此添加到您的项目 CLAUDE.md 文件:

## .NET Assembly Analysis

This project uses Sherlock MCP for .NET assembly analysis. When analyzing .NET types, methods, or assemblies:

1. Use sherlock-mcp tools instead of guessing about .NET APIs
2. For type analysis: `GetTypeInfo`, `GetTypeMethods`, `GetTypeProperties`
3. For assembly overview: `AnalyzeAssembly` or `GetTypesFromAssembly`
4. For project structure: `AnalyzeProject`, `AnalyzeSolution`
5. Assembly paths are typically: `./bin/Debug/net9.0/ProjectName.dll`

Always include assembly path, prefer full type names, and use pagination for large results.

光标(.cursorules)

将此添加到您的项目 .cursorrules 文件:

# .NET Analysis Rules
When working with .NET code, assemblies, or types:
- Use sherlock-mcp tools for accurate type/member information
- Assembly paths: ./bin/Debug/net9.0/*.dll or ./bin/Release/net9.0/*.dll
- For unknown types: GetTypesFromAssembly -> GetTypeInfo -> GetTypeMethods/Properties
- For code analysis: AnalyzeAssembly for overview, GetTypeInfo for details
- Use pagination (maxItems=50) for large results to avoid token limits

全局配置

对于全系统使用,请添加到您的全局Claude Code设置或Cursor配置中:

For .NET development: Use sherlock-mcp tools when analyzing assemblies, types, methods, or project structure. Prefer these over guessing .NET API details.

如何提示

下面是简洁的提示片段,您可以将其粘贴到聊天中,以快速提高效率。调整本地DLL的路径。

一般设置

You have access to an MCP server named "sherlock" that can analyze .NET assemblies. Prefer these tools for .NET questions and include short reasoning for which tool you chose. Ask me for the assembly path if missing.

枚举类型的成员

Analyze: /absolute/path/to/MyLib/bin/Debug/net9.0/MyLib.dll
Type: MyNamespace.MyType
List methods, including non-public, filter name contains "Async", include attributes, return JSON.

获取成员的XML文档

Use GetXmlDocsForMember on /abs/path/MyLib.dll, type MyNamespace.MyType, member TryParse. Summarize the summary + params.

查找类型并钻入

List types from /abs/path/MyLib.dll; then get type info for the first result and list its nested types.

调整分页和过滤器

Use GetTypeMethods on /abs/path/MyLib.dll, type MyNamespace.MyType, sortBy name, sortOrder asc, skip 0, take 25, hasAttributeContains Obsolete.

工具概述

装配发现与分析

  • AnalyzeAssembly:完整的程序集概述,包括公共类型和元数据
  • FindAssemblyByClassName:查找包含特定类名的程序集
  • FindAssemblyByFileName:在通用生成路径中按文件名查找程序集

类型内省

  • GetTypesFromAssembly:列出所有带有元数据的公共类型(分页)
  • AnalyzeType:对所有成员进行全面的类型分析
  • GetTypeInfo:详细的类型元数据(可访问性、泛型、嵌套类型)
  • GetTypeHierarchy:继承链和接口实现
  • GetGenericTypeInfo:通用参数、自变量和方差信息
  • GetTypeAttributes:在类型上声明的自定义属性
  • GetNestedTypes:嵌套类型声明

成员分析(可过滤和分页)

  • GetAllTypeMembers:所有类别的所有成员
  • GetTypeMethods:方法签名、重载和元数据
  • GetTypeProperties:属性详细信息,包括getter/setter和索引器
  • GetTypeFields:字段信息,包括常量和只读字段
  • GetTypeEvents:具有处理程序类型的事件声明
  • GetTypeConstructors:构造函数签名和参数
  • AnalyzeMethod:具有重载和属性的深度方法分析

反向查询

  • FindImplementationsOf:实现接口或从基类派生的类型
  • FindMethodsReturning:返回类型与给定类型匹配的方法(支持开放泛型匹配)
  • FindReferencesTo:更广泛地涵盖参数、字段、属性、事件和泛型参数

属性和元数据

  • GetMemberAttributes:特定成员的属性
  • GetParameterAttributes:参数级属性信息

XML文档

  • GetXmlDocsForType:提取类型级XML文档
  • GetXmlDocsForMember:特定成员的文件(摘要/参数/返回/备注)

项目与解决方案分析

  • AnalyzeSolution:解析.sln文件并枚举项目
  • AnalyzeProject:项目元数据、引用和生成配置
  • GetProjectOutputPaths:解析不同配置的输出目录
  • ResolvePackageReferences:将NuGet包映射到缓存的程序集
  • FindDepsJsonDependencies:解析deps.json以获取运行时依赖关系

配置和运行时

  • GetRuntimeOptions:当前服务器配置和默认值
  • UpdateRuntimeOptions:修改分页、缓存和搜索行为

高级过滤和分页

所有成员分析工具都支持全面的过滤和分页:

筛选选项:

  • caseSensitive (bool):区分大小写的类型/成员匹配
  • nameContains (string):按成员名称子字符串筛选
  • hasAttributeContains (string):按属性类型子字符串筛选
  • includePublic / includeNonPublic (bool):可见性过滤
  • includeStatic / includeInstance (bool):成员类型过滤

分页:

  • skip / take (int):标准偏移分页
  • maxItems (int):每个请求的最大结果
  • continuationToken (string):大型数据集的基于令牌的分页
  • sortBy / sortOrder (string):按asc/desc顺序按名称/访问进行排序

类型分辨率:

  • 支持全名(Namespace.Type),简单名称(Type),以及嵌套类型(Outer+Inner)
  • 病例敏感性由以下因素控制 caseSensitive 参数
  • 模糊类型名称的自动回退解决方案

响应架构

所有工具都返回一个稳定的JSON信封:

{ "kind": "type.list|member.methods|...", "version": "1.0.0", "data": { /* result */ } }

错误使用一致的形状:

{ "kind": "error", "version": "1.0.0", "code": "AssemblyNotFound|TypeNotFound|InvalidArgument|InternalError", "message": "...", "details": { } }

Common error codes include `AssemblyNotFound`, `TypeNotFound`, `MemberNotFound`, `InvalidArgument`, and `InternalError`.

贡献

欢迎捐款。此回购包括 .editorconfig 使用现代C#首选项(文件作用域名称空间、表达式体成员、4空间缩进)。

提交消息格式

此项目使用 约定式提交 用于自动生成变更日志。所有提交必须遵循以下格式:

type(scope): description

有效类型:

  • feat -新功能
  • fix -bug修复
  • docs -仅文档更改
  • style -代码样式更改(格式、分号等)
  • refactor -既不修复错误也不添加功能的代码更改
  • perf -性能改进
  • test -添加或更正测试
  • build -构建系统或依赖关系的更改
  • ci -更改CI配置
  • chore -其他不修改src或测试文件的更改
  • revert -还原之前的提交

示例:

git commit -m "feat(tools): add new assembly analysis tool"
git commit -m "fix: resolve null reference in type loader"
git commit -m "docs(readme): update installation instructions"

开发设置

# Restore .NET tools (versionize, husky)
dotnet tool restore

# Install git hooks for commit validation
dotnet husky install

指南

  • 保持变化小而集中;为新行为添加单元测试。
  • 添加工具时,请遵循响应信封和错误代码惯例。
  • 跑 dotnet build 和 dotnet test 在打开PR之前,先在本地进行操作。

创建发布

维护人员可以使用以下方式创建版本:

# Restore tools if not already done
dotnet tool restore

# Preview what will change
dotnet versionize --dry-run

# Create release (bumps version, updates changelog, creates git tag)
dotnet versionize

# Push changes and tag to trigger release workflow
git push --follow-tags

发布工作流将自动:

  1. 构建和测试项目
  2. 创建带有更改日志注释的GitHub版本
  3. 发布NuGet包
  4. 更新 server.json 使用新版本

MCP注册表

mcp名称:io.github.jcucci/dotnet-sherlock-mcp

许可证

夏洛克MCP。NET根据 MIT许可证.

工具与能力

工具数量

31

资源数量

0

提示词数量

0

能力标签

代码分析C#本地部署元数据提取XML文档代码生成.NET开发

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 工具数量 31 个,一次接入能覆盖的操作比单点工具更全。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到访问 Token的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Dotnet Sherlock MCP

MCP World · 本页

31未说明未标注2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Dotnet Sherlock MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Dotnet Sherlock MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Dotnet Sherlock MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Dotnet Sherlock MCP 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Dotnet Sherlock MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP