dotnet-build-optimization
>-
mcp-discovery
Discovers available MCP servers from registries and validates compatibility. Auto-discovers MCP servers from official registries, community sources, and local definitions. Triggers on: mcp discovery, find mcp servers, discover mcp, mcp registry, mcp catalog.
Full skill instructions
Discovers and catalogs available MCP servers from registries, community sources, and local configurations.
Always load before analysis:
# Discover all MCP servers
[mcp-discovery:find-all]
# Search MCP registry
[mcp-discovery:search <keyword>]
# Update local MCP config
[mcp-discovery:update-config]
# Show available MCPs
[mcp-discovery:list]
```text
## MCP Registry Sources
### Official Registries
1. **MCP Registry (modelcontextprotocol.io)**
- Official MCP server listings
- Verified implementations
- Community submissions
2. **Smithery Registry (smithery.ai)**
- Curated MCP servers
- Ratings and reviews
- Installation guides
### Discovery Methods
#### From Official Registry
```bash
# Fetch MCP registry
https://registry.modelcontextprotocol.io/servers
# Parse and filter for .NET compatible
jq '.servers[] | select(.tags[] | contains("dotnet") or contains("csharp"))'
```text
#### From Smithery
```bash
# Query Smithery MCP catalog
https://smithery.ai/api/mcp-servers
# Filter by category
curl -s "https://smithery.ai/api/mcp-servers?category=development"
```text
### Local Discovery
#### From Package.json (Node.js projects)
```bash
# Check for MCP servers in devDependencies
jq '.devDependencies | keys[] | select(contains("mcp"))' package.json
```text
#### From Tool Configuration
```bash
# VS Code extensions
ls ~/.vscode/extensions/ | grep -i mcp
# Claude Code config
ls ~/.claude/ | grep -i mcp
```text
## Discovery Script
Add to hooks or commands:
```bash
# Inline mcp-discovery.sh: Discover available MCP servers
set -uo pipefail
DISCOVERED_MCP="{}"
# 1. Check official MCP registry (if network available)
if command -v curl >/dev/null 2>&1; then
REGISTRY_DATA=$(curl -s --connect-timeout 5 \
"https://registry.modelcontextprotocol.io/servers" 2>/dev/null || echo "")
if [ -n "$REGISTRY_DATA" ]; then
# Parse registry data
DISCOVERED_MCP=$(echo "$REGISTRY_DATA" | jq -c '{registry: .servers}' 2>/dev/null || echo "{}")
fi
fi
# 2. Check local MCP installations
LOCAL_MCPS="{}"
# Check for common MCP servers
if command -v uvx >/dev/null 2>&1; then
LOCAL_MCPS=$(echo "$LOCAL_MCPS" | jq '. + {uvx: true}')
fi
if command -v npx >/dev/null 2>&1; then
LOCAL_MCPS=$(echo "$LOCAL_MCPS" | jq '. + {npx: true}')
fi
# 3. Merge and return
echo "{\"discovered\": $DISCOVERED_MCP, \"local\": $LOCAL_MCPS}"
exit 0
```text
## MCP Compatibility Matrix
| MCP Server | Type | .NET Support | Status | Notes |
| ----------------- | ----- | ------------ | ------ | ----------------- |
| serena | stdio | Full | Active | Semantic analysis |
| context7 | http | Full | Active | Library docs |
| microsoftdocs-mcp | http | Full | Active | MS Learn |
| deepwiki | http | Full | Active | Wiki search |
| github | http | Full | New | GitHub API |
## Auto-Configuration
### Update mcp.json
```bash
# Discover and update config
dotnet-agent-harness:mcp-discovery:update-config
# This appends to .rulesync/mcp.json:
{
"mcpServers": {
"newly-discovered-mcp": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "some-mcp", "server"]
}
}
}
```text
### Integration with rulesync
Add discovery to rulesync workflow:
```json
{
"sources": [{ "source": "mcp://registry.modelcontextprotocol.io" }]
}
```text
## Best Practices
### 1. Prefer stdio for Local Tools
Local tools should use stdio transport:
- Better performance (no HTTP overhead)
- Works offline
- Easier debugging
### 2. Use http for Cloud Services
Cloud APIs should use http transport:
- No local installation required
- Automatic updates
- Scalable
### 3. Validate Before Adding
Always validate discovered MCPs:
```bash
# Check health before adding
[mcp-health:check <new-mcp>]
# Test functionality
[mcp-discovery:test <new-mcp>]
```text
### 4. Version Pinning
Pin MCP server versions for stability:
```json
{
"mcpServers": {
"some-mcp": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "some-mcp==1.2.3", "server"]
}
}
}
```text\n\n## Troubleshooting Discovery
### No MCPs Found
**Problem:** Registry unreachable
**Solutions:**
- Check network connectivity
- Try offline mode with cached registry
- Use local MCP servers only
### Incompatible MCPs
**Problem:** MCP doesn't support .NET
**Solutions:**
- Check MCP documentation for language support
- Look for .NET-specific alternatives
- Use HTTP MCPs (language-agnostic)
### Duplicate MCPs
**Problem:** Same MCP from multiple sources
**Solutions:**
- Prioritize official registry
- Use version comparison
- User confirmation for duplicates
## Integration Example
### Session Start Hook
Add MCP discovery to session start:
```json
{
"hooks": {
"sessionStart": [
{
"type": "command",
"command": "# Discover MCP servers\necho 'Checking for available MCP servers...'\n# Discovery logic here",
"timeout": 10
}
]
}
}
```text
### Notification
Inform user of discovered MCPs:
```text
Discovered MCP servers:
✓ serena (local)
✓ microsoftdocs-mcp (cloud)
✓ github (remote)
Run [mcp-discovery:update-config] to add new MCPs.
```text
## References
- [MCP Registry](https://registry.modelcontextprotocol.io/)
- [Smithery MCP Catalog](https://smithery.ai/)
- [skill:mcp-health] -- validate discovered MCPs
- [skill:dotnet-observability] -- metrics for discovery process
>-
>-
Analyzes .NET solution layout and build config -- .sln, .csproj, CPM.
>-
>-
Generates AGENTS.md files for coding agent context
Analyzes repos and generates structured catalogues
EF Core, DbContext, AsNoTracking, query splitting.
>-
>-
>-
>-
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience