troubleshoot-binlog-mcp
Skill1.1k starsChanged 23 days agoMITView on GitHub
Diagnose dotnet-msbuild binlog MCP startup failures. USE FOR: CONNECTION_CLOSED, binlog server won't connect, missing binlog tools, Microsoft.AITools.BinlogMcp not found, dnx launch errors. Checks workspace SDK, feeds, and source mapping without bypassing policy. DO NOT USE FOR: errors inside a binlog (use binlog-failure-analysis), capturing binlogs (use binlog-generation), unrelated MCP servers.
We split this skill into the rules it gives an agent
20 rules. About 0 are common, 12 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
No binlog file or project build is needed.
- Very specific: line 18
Use the user's error and any host MCP status or startup logs already available.
- Distinctive: line 22
If the binlog server is connected and its tools are discoverable, stop startup troubleshooting.
- Distinctive: line 24
If the plugin's skills loaded but its binlog server did not, continue below.
- Distinctive: line 25
If the plugin itself is not installed/enabled or no server is registered, address that host configuration first.
- Distinctive: line 27
If execution or host logs are unavailable, explain that limit and give the next command for the user to run.
- Distinctive: line 39
Run diagnostics from that workspace with the host's environment, not from the plugin directory or a temporary directory with different …
- Very specific: line 48
Check the applicable global.json and inherited NuGet configuration, including parent/user configuration, clear, disabled sources, and …
- Distinctive: line 54
Do not dump credential settings, private feed URLs, tokens, or credential-provider output into the answer.
- Distinctive: line 59
Prefer an existing startup log from the failing host.
- Distinctive: line 71
Only if package availability remains unclear, run this supporting probe under the same workspace settings with a bounded execution:
- Distinctive: line 91
Do not repeat expensive probes once the evidence establishes the next action.
- Very specific: line 101
Add nuget.org only if organizational policy permits and the user approves the change.
- Very specific: line 102
Do not remove clear, disable source mapping, or override sources to bypass enterprise policy.
- Very specific: line 103
If appropriate and approved, install the tool from an approved feed and register its binlog-mcp executable with the host as an alternative …
- Distinctive: line 109
Do not edit NuGet settings, host registration, or SDK pins without the user's approval.
- Very specific: line 110
If policy prevents recovery, say so.
- Very specific: line 115
After an approved change, reconnect/restart the server using the host's supported controls.
- Very specific: line 126
Use connected only after the host discovers the server's tools, failed for an observed launch/connection failure, and unverified when only …
- Distinctive: line 128
Never substitute "package found" or "tool installed" for a verified MCP connection.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Troubleshoot Binlog MCP Startup
Explain why the plugin's binlog MCP server cannot connect and give an evidence-based, policy-safe recovery. This diagnoses the server launch, not failures recorded in a build. No binlog file or project build is needed.
This skill runs on demand. It cannot see a host error that was never exposed to the agent, inject session-start context, or guarantee activation merely because a plugin was installed.
1. Establish what failed
Use the user's error and any host MCP status or startup logs already available.
CONNECTION_CLOSED alone says that the transport closed, not why. Do not translate it
directly into "package missing."
- If the binlog server is connected and its tools are discoverable, stop startup troubleshooting. Continue the original binlog analysis; do not change a working setup.
- If the plugin's skills loaded but its binlog server did not, continue below.
- If the plugin itself is not installed/enabled or no server is registered, address that host configuration first. Do not diagnose NuGet package resolution without a launch attempt.
- If execution or host logs are unavailable, explain that limit and give the next command for the user to run. Never claim to have inspected logs or repaired a connection.
2. Match the host's workspace and SDK
Discover the affected workspace directory and the host's actual MCP command, arguments, and environment from available configuration. The shipped command is:
dotnet dnx Microsoft.AITools.BinlogMcp --yes --prereleaseRun diagnostics from that workspace with the host's environment, not from the plugin directory or a temporary directory with different NuGet settings. Inspect:
dotnet --info
dotnet --version
dotnet nuget list sourceCheck the applicable global.json and inherited NuGet configuration, including parent/user
configuration, clear, disabled sources, and packageSourceMapping. A workspace clear
can replace the default nuget.org source with a private mirror that lacks this package.
An installed SDK is not necessarily the SDK selected in this directory. The shipped
dotnet dnx command requires a .NET 10+ SDK.
Do not dump credential settings, private feed URLs, tokens, or credential-provider output into the answer. Inspect locally as needed and report a redacted source label and relevant error.
3. Capture the real launch error
Prefer an existing startup log from the failing host. Otherwise reproduce its unchanged
launch command once, from the affected workspace, capturing both stdout and stderr plus the
exit code. Do not initially add --source, replace the configuration, remove global.json,
clear caches, or install another copy: those change the conditions being diagnosed.
A stdio MCP server may remain running waiting for protocol input. Keep stdin open while
observing startup and use a bounded execution (for example, 30 seconds) with cleanup of only
the diagnostic process tree, including credential-provider children. Use the host's supported
timeout/cancellation facility; if it cannot safely clean up, ask the user to run the command
locally instead. Do not leave a background server running or kill unrelated dotnet processes.
A timeout, silence, or an open process is not proof that MCP initialized.
Only if package availability remains unclear, run this supporting probe under the same workspace settings with a bounded execution:
dotnet package search Microsoft.AITools.BinlogMcp --exact-match --prerelease --format jsonInspect the exact package ID and version in searchResult[].packages, and check both top-level
and per-source problems. Exit code zero alone does not establish a successful search.
| Observed evidence | Diagnosis and next action |
dnx reports no matching version in the configured feeds | Those settings did not resolve the package. Check whether the approved mirror provides prerelease versions of this exact package. |
| Search returns no packages and no source problems | Only the searched feeds lack a listed match. This is not proof that dnx must fail: a cached tool or unlisted version may still work. |
| Search has top-level/per-source problems, HTTP 401/403, TLS, network, or credential-provider errors | Availability is unverified, not "package missing." Address the specific feed/access failure first, even if search exited zero. |
Search finds the package but dnx fails | Follow the launch error. Search does not apply package source mapping; check mapping, restore/download access, and runtime requirements. Do not declare the connection healthy. |
Missing dotnet, unrecognized dnx, or SDK selection error | Fix the host's PATH/SDK selection. Account for global.json; do not silently upgrade the repository or remove its SDK pin. |
| Timeout, unsupported search command, or malformed/non-JSON output | Report an inconclusive probe. Use launch logs or a user-run diagnostic; do not infer absence or success. |
| Launch succeeds but host connection still fails | Investigate the host's actual command/environment and MCP initialization logs; package discovery is no longer the demonstrated failure. |
Do not repeat expensive probes once the evidence establishes the next action.
4. Choose a policy-safe recovery
Recommend the smallest change supported by the observed failure:
- Have the feed owner mirror
Microsoft.AITools.BinlogMcpand its required versions/dependencies into an approved feed, or correct an approved mapping that excludes it. - Repair the approved feed's authentication, connectivity, or certificate configuration when that is the observed problem. Never suggest disabling certificate validation.
- Add nuget.org only if organizational policy permits and the user approves the change.
Do not remove
clear, disable source mapping, or override sources to bypass enterprise policy. - If appropriate and approved, install the tool from an approved feed and register its
binlog-mcpexecutable with the host as an alternative MCP server. Confirm the executable's path and avoid registering a duplicate server. Installation alone is not connection recovery. - For SDK/PATH issues, make the required SDK available to the host or use a deliberately configured alternative launch. Ask before changing repository SDK selection.
Do not edit NuGet settings, host registration, or SDK pins without the user's approval.
If policy prevents recovery, say so. For an existing binlog, offer the text-log replay fallback
in binlog-failure-analysis rather than blocking build diagnosis on MCP repair.
5. Verify and report
After an approved change, reconnect/restart the server using the host's supported controls.
Confirm MCP initialization and a tool listing that contains binlog tools such as
binlog_overview. If a binlog is available, resume the original analysis.
Report the observed cause (or what remains unknown), the relevant redacted evidence, the smallest recovery, and what was actually verified. End with one status line:
MCP status: connectedUse connected only after the host discovers the server's tools, failed for an observed
launch/connection failure, and unverified when only probes or advice are available.
Never substitute "package found" or "tool installed" for a verified MCP connection.
Trending
Quiet since September.about the whole repository
Who's talking about microsoft/testfx
- Stack Overflow“App.config not being loaded in .Net Core MSTests project”Stack Overflow · Feb 24, 2019 · 35 votes
- Stack Overflow“Visual Studio Test Explorer doesn't run tests after changes”Stack Overflow · Dec 21, 2022 · 31 votes
- Stack Overflow“DataTestMethod vs TestMethod”Stack Overflow · Dec 3, 2019 · 19 votes
- Stack Overflow“ConfigurationManager.AppSettings is always empty”Stack Overflow · May 5, 2020 · 17 votes
- dotnet/sdk“[Proposal]: Add Microsoft.NET.Sdk.Testing”GitHub · Jun 7, 2025 · 10 reactions
The biggest 5 of 68 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 68
Talked about on GitHub and Stack Overflow (68 times).
On GitHub · 41
- Jun 7, 2025[Proposal]: Add Microsoft.NET.Sdk.Testing — dotnet/sdksays it tested it10 reactions · 15 comments
- Feb 4, 2025Dependabot job fails due to attempt to update packages referenced via an MSBuild SDK — dependabot/dependabot-core9 reactions · 13 comments
- Feb 22, 2024Microsoft Testing Platform for xUnit — xunit/visualstudio.xunitsays it tested it6 reactions · 19 comments
- Dec 3, 2018DataTestMethod vs TestMethod — microsoft/testfx-docs6 reactions · 4 comments
- Feb 19, 2024Microsoft Testing Platform for NUnit — nunit/nunit3-vs-adaptersays it tested it5 reactions · 1 comment
36 more on GitHub
- Dec 19, 2023Arcade should opt into `BuildWithNetFrameworkHostedCompiler` by default — dotnet/arcade5 reactions · 18 comments
- Nov 24, 2025Native support for Microsoft.Testing.Platform? — danielpalme/ReportGeneratorsays it tested it4 reactions · 3 comments
- Oct 31, 2025Selecting test runner without global.json — dotnet/sdk3 reactions · 2 comments
- Jul 15, 2025[Analyzer Proposal]: Don't use `stringBuilder.Append(new string(c, repeatCount))` — dotnet/runtime3 reactions · 3 comments
- Jul 13, 2025Allow `dotnet test --list-tests json` — dotnet/sdk3 reactions · 7 comments
- Jul 9, 2025Improve output of `dotnet test` with MTP — dotnet/sdk3 reactions · 6 comments
- Jan 30, 2024Support for the new test runner — nunit/nunit3 reactions · 3 comments
- Oct 17, 2017[ExcludeFromCodeCoverageAttribute] should be applicable to assemblies — dotnet/runtime3 reactions · 12 comments
- Sep 2, 2026chore(deps): update mstest to 4.4.0 — thomhurst/TUnit2 reactions · 3 comments
- Dec 17, 2025[MTP] Cannot switch off terminal logger when building during dotnet test — dotnet/sdk2 reactions
- Oct 8, 2025Bump MSTest.TestFramework from 3.11.0 to 4.0.0 — files-community/Files2 reactions · 1 comment
- May 27, 2025Dependabot Ignores Configuration File Settings in latest Version — dependabot/dependabot-core2 reactions · 7 comments
- May 20, 2025Add `-vs` and `-vscode` to build scripts — dotnet/arcade2 reactions · 8 comments
- Mar 14, 2025Add template for dotnet.config to dotnet new — dotnet/sdk2 reactions · 2 comments
- Jan 16, 2024An Allure adapter for MSTest — allure-framework/allure-csharp2 reactions · 2 comments
- Apr 10, 2018Added docs for dynamic data display name — microsoft/testfx-docs2 reactions · 1 comment
- Sep 3, 2026chore(deps): update microsoft.testing — thomhurst/TUnit1 reaction · 3 comments
- Mar 16, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/FAnsiSql1 reaction
- Mar 16, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/libarchive.net1 reaction
- Mar 16, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/RDMP1 reaction
- Mar 16, 2026sdk(deps): Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/CsvHandler1 reaction · 1 comment
- Mar 16, 2026chore(deps): bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/SharpDicom1 reaction
- Mar 16, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/nccid1 reaction
- Mar 15, 2026chore(deps): bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/filestats1 reaction
- Mar 15, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/MCPsharp1 reaction
- Mar 15, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/SynthEHR1 reaction
- Mar 15, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/TypeGuesser1 reaction
- Mar 15, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/LineReader1 reaction
- Mar 15, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/DicomTypeTranslation1 reaction
- Mar 12, 2026Bump dotnet-sdk from 10.0.103 to 10.0.201 — jas88/dcm2csv1 reaction
- Mar 11, 2026chore(deps): bump dotnet-sdk from 10.0.103 to 10.0.200 — jas88/PACSify1 reaction
- Mar 7, 2025Use Microsoft Testing Platform — martincostello/alexa-london-travelsays it tested it1 reaction · 3 comments
- Feb 17, 2025Bump the mstest group across 1 directory with 2 updates — kusl/fluentassertions1 reaction · 9 comments
- May 25, 2026Bump MSTest.TestAdapter and MSTest.TestFramework — fluentassertions/fluentassertions0 reactions · 8 comments
- May 18, 2026Bump the mstest group with 2 updates — fluentassertions/fluentassertions0 reactions · 3 comments
- May 11, 2026Bump MSTest.TestAdapter and MSTest.TestFramework — fluentassertions/fluentassertions0 reactions · 4 comments
On Stack Overflow · 27
- Feb 24, 2019App.config not being loaded in .Net Core MSTests project35 votes
- Dec 21, 2022Visual Studio Test Explorer doesn't run tests after changes31 votes
- Dec 3, 2019DataTestMethod vs TestMethod19 votes
- May 5, 2020ConfigurationManager.AppSettings is always empty17 votes
- Dec 4, 2020The type or namespace name 'PrivateObject' could not be found6 votes
22 more on Stack Overflow
- Nov 2, 2018'TestContext' does not contain a definition for 'DataRow'5 votes
- Jun 15, 2019Get TestResult in MSTest TestCleanup in C#4 votes
- Nov 14, 2024Does a [TestMethod] have to be public? What consequences are there if it isn't?3 votes
- Aug 26, 2020'Inconclusive' tests are reported as 'not run' by Azure DevOps3 votes
- Sep 18, 2018Guidance for running tests using MSTest v1 in Visual Studio 2017 15.8.13 votes
- Nov 29, 2017Long running unit test marked as passed fails TFS build - Object 'xxx.rem' has been disconnected or does not exist at the server.**3 votes
- Jun 25, 2021use PrivateObject in .net 5 from nugget MSTest.TestFramework2 votes
- Jan 7, 2020MS Test V2 - ClassInitialize behavior when fail2 votes
- Oct 30, 2019Test Methods and Test Class in compiled DLL2 votes
- Jan 15, 2019Use configuration file to specify connection string to define a data source in unit test2 votes
- May 2, 2017Where is MSTest V22 votes
- Oct 15, 2022How to unit test private method in .Net Core application which does not support "PrivateObject"1 vote
- Oct 5, 2022Only first DataRow gets executed in MSTest1 vote
- Feb 4, 2021MS Tests DataTestMethod Timeout for a single test1 vote
- Feb 13, 2020PrivateObject class not found in .Net Core 2.01 vote
- Jan 4, 2020MsTest TestCleanup method not called when an unhandled exception is thrown1 vote
- May 3, 2019Where do I find TestContext.AddResultFile()?1 vote
- Apr 24, 2017Inherited test class from generic base is ignored in MSTest1 vote
- Aug 20, 2025Use MSTest.Sdk for TestHelper0 votes · 1 answer
- Mar 9, 2022Test results are published correctly but not reflected in pipeline Results - Azure devops (Yaml)0 votes
- Dec 22, 2021Testing with empty string using DataRow in MsTestV20 votes
- Feb 6, 2018Why does Visual Studio Always pull in the latest version Unit Test Framework within a solution when older versions are already included0 votes
In this repository62 other files it gives its agents.
- AGENTS.mdAGENTS.md
- eng/common/AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- assertion-qualitySkill
- binlog-failure-analysisSkill
- binlog-generationSkill
- build-parallelismSkill
- build-perf-baselineSkill
- build-perf-diagnosticsSkill
- check-bin-obj-clashSkill
- code-testing-agentSkill
- code-testing-extensionsSkill
- code-testingSkill
- copy-to-output-directorySkill
- coverage-analysisSkill
- crap-scoreSkill
- csharp-expertSkill
- csharp-refactoringSkill
- curation-exceptionsSkill
- detect-static-dependenciesSkill
- directory-build-organizationSkill
- eliminate-redundant-restoresSkill
- eval-performanceSkill
- extension-pointsSkill
- filter-syntaxSkill
- find-untested-sourcesSkill
- generate-testability-wrappersSkill
- grade-testsSkill
- including-generated-filesSkill
- incremental-buildSkill
- item-managementSkill
- migrate-static-to-wrapperSkill
- msbuild-antipatternsSkill
- msbuild-modernizationSkill
- msbuild-serverSkill
- msbuildSkill
- mtp-hot-reloadSkill
- platform-detectionSkill
- property-patternsSkill
- resolve-project-referencesSkill
- run-testsSkill
- scaffold-dotnet-test-projectSkill
- setup-local-sdkSkill
- target-authoringSkill
- testability-obstacleSkill
- test-analysis-extensionsSkill
- test-anti-patternsSkill
- test-gap-analysisSkill
- test-smell-detectionSkill
- test-taggingSkill
- test-value-evidenceSkill
- writing-mstest-testsSkill
- agentic-workflowsSkill
- behavior-preserving-refactorSkill
- code-reviewSkill
- feature-deliverySkill
- post-release-activitiesSkill
- session-delivery-hygieneSkill
- testfx-acceptance-validationSkill
- testfx-localization-validationSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

