Skip to content
cccskills
FreePublished on GitHub

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md5.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

MCP Discovery

Discovers and catalogs available MCP servers from registries, community sources, and local configurations.

Preloaded Skills

Always load before analysis:

  • [skill:dotnet-advisor] -- routing and context
  • [skill:mcp-health] -- validate discovered MCPs

Usage

# 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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Patterns and techniques for evaluating and improving AI agent outputs.

The English summary is being prepared. Showing the original description.

rudironsoni/Synaxis2Updated Mar 17, 2026

Comprehensive AI prompt engineering safety review and improvement prompt. Analyzes prompts for safety, bias, security vulnerabilities, and effectiveness while providing detailed improvement recommendations.

The English summary is being prepared. Showing the original description.

rudironsoni/Synaxis2Updated Mar 17, 2026

Use when user requests research requiring multiple sources, comprehensive analysis, or synthesis across topics - technical research, domain knowledge gathering, market analysis, or learning about complex subjects

The English summary is being prepared. Showing the original description.

rudironsoni/Synaxis2Updated Mar 17, 2026

AI-powered wiki generation for code repositories with commands, agents, and skills

The English summary is being prepared. Showing the original description.

rudironsoni/Synaxis2Updated Mar 17, 2026

Use when building .NET 10 or C# 14 applications; when using minimal APIs, modular monolith patterns, or feature folders; when implementing HTTP resilience, Options pattern, Channels, or validation; when seeing outdated patterns like old extension method syntax

The English summary is being prepared. Showing the original description.

rudironsoni/Synaxis2Updated Mar 17, 2026

Implements accessible .NET UI. SemanticProperties, ARIA, AutomationPeer, testing per platform.

The English summary is being prepared. Showing the original description.

rudironsoni/Synaxis2Updated Mar 17, 2026

See all skills by rudironsoni

Report a problem with this skill