Files
skill-seekers-reference/docs/reference/MCP_REFERENCE.md
yusyus 37cb307455 docs: update all documentation for 17 source types
Update 32 documentation files across English and Chinese (zh-CN) docs
to reflect the 10 new source types added in the previous commit.

Updated files:
- README.md, README.zh-CN.md — taglines, feature lists, examples, install extras
- docs/reference/ — CLI_REFERENCE, FEATURE_MATRIX, MCP_REFERENCE, CONFIG_FORMAT, API_REFERENCE
- docs/features/ — UNIFIED_SCRAPING with generic merge docs
- docs/advanced/ — multi-source guide, MCP server guide
- docs/getting-started/ — installation extras, quick-start examples
- docs/user-guide/ — core-concepts, scraping, packaging, workflows (complex-merge)
- docs/ — FAQ, TROUBLESHOOTING, BEST_PRACTICES, ARCHITECTURE, UNIFIED_PARSERS, README
- Root — BULLETPROOF_QUICKSTART, CONTRIBUTING, ROADMAP
- docs/zh-CN/ — Chinese translations for all of the above

32 files changed, +3,016 lines, -245 lines
2026-03-15 15:56:04 +03:00

24 KiB

MCP Reference - Skill Seekers

Version: 3.2.0
Last Updated: 2026-03-15
Complete reference for 27 MCP tools


Table of Contents


Overview

What is MCP?

MCP (Model Context Protocol) allows AI agents like Claude Code to interact with Skill Seekers through a standardized interface. Instead of running CLI commands, you can use natural language:

"Scrape the React documentation and create a skill"
"Package the output/react skill for Claude"
"List available workflow presets"

Transport Modes

The MCP server supports two transport modes:

Mode Use Case Command
stdio Claude Code, VS Code + Cline skill-seekers-mcp
HTTP Cursor, Windsurf, HTTP clients skill-seekers-mcp --transport http --port 8765

Starting the Server

# stdio mode (default)
skill-seekers-mcp

# HTTP mode
skill-seekers-mcp --transport http --port 8765

# With custom host
skill-seekers-mcp --transport http --host 0.0.0.0 --port 8765

Tool Categories

Core Tools (9)

Essential tools for basic skill creation workflow:

Tool Purpose
list_configs List preset configurations
generate_config Generate config from docs URL
validate_config Validate config structure
estimate_pages Estimate page count
scrape_docs Scrape documentation
package_skill Package to .zip
upload_skill Upload to platform
enhance_skill AI enhancement
install_skill Complete workflow

Extended Tools (10)

Advanced scraping and analysis tools:

Tool Purpose
scrape_github GitHub repository analysis
scrape_pdf PDF extraction
scrape_codebase Local codebase analysis
scrape_generic Generic scraper for 10 new source types
unified_scrape Multi-source scraping
detect_patterns Pattern detection
extract_test_examples Extract usage examples from tests
build_how_to_guides Generate how-to guides
extract_config_patterns Extract configuration patterns
detect_conflicts Find doc/code discrepancies

Config Source Tools (5)

Manage configuration sources:

Tool Purpose
add_config_source Register git repo as config source
list_config_sources List registered sources
remove_config_source Remove config source
fetch_config Fetch configs from git
submit_config Submit config to source

Config Splitting Tools (2)

Handle large documentation:

Tool Purpose
split_config Split large config
generate_router Generate router skill

Vector Database Tools (4)

Export to vector databases:

Tool Purpose
export_to_weaviate Export to Weaviate
export_to_chroma Export to ChromaDB
export_to_faiss Export to FAISS
export_to_qdrant Export to Qdrant

Workflow Tools (5)

Manage enhancement workflows:

Tool Purpose
list_workflows List all workflows
get_workflow Get workflow YAML
create_workflow Create new workflow
update_workflow Update workflow
delete_workflow Delete workflow

Tool Reference


Core Tools

list_configs

List all available preset configurations.

Parameters: None

Returns: Array of config objects

{
  "configs": [
    {
      "name": "react",
      "description": "React documentation",
      "source": "bundled"
    }
  ]
}

Example:

# Natural language
"List available configurations"
"What configs are available?"
"Show me the preset configs"

generate_config

Generate a configuration file from a documentation URL.

Parameters:

Name Type Required Description
url string Yes Documentation URL
name string No Config name (auto-detected)
description string No Description (auto-detected)

Returns: Config JSON object

Example:

# Natural language
"Generate a config for https://docs.django.com/"
"Create a Django config"
"Make a config from the React docs URL"

validate_config

Validate a configuration file structure.

Parameters:

Name Type Required Description
config object/string Yes Config object or file path

Returns: Validation result

{
  "valid": true,
  "errors": [],
  "warnings": []
}

Example:

# Natural language
"Validate this config: {config_json}"
"Check if my config is valid"
"Validate configs/react.json"

estimate_pages

Estimate total pages for documentation scraping.

Parameters:

Name Type Required Description
config object/string Yes Config object or file path
max_discovery number No Max pages to discover (default: 1000)

Returns: Estimation results

{
  "estimated_pages": 230,
  "discovery_rate": 1.28,
  "estimated_time_minutes": 3.8
}

Example:

# Natural language
"Estimate pages for the React config"
"How many pages will Django docs have?"
"Estimate with max 500 pages"

scrape_docs

Scrape documentation website and generate skill.

Parameters:

Name Type Required Description
config object/string Yes Config object or file path
enhance_level number No 0-3 (default: 2)
max_pages number No Override max pages
dry_run boolean No Preview only

Returns: Scraping results

{
  "skill_directory": "output/react/",
  "pages_scraped": 180,
  "references_generated": 12,
  "status": "success"
}

Example:

# Natural language
"Scrape the React documentation"
"Scrape Django with enhancement level 3"
"Do a dry run of the Vue docs scrape"

package_skill

Package skill directory into uploadable format.

Parameters:

Name Type Required Description
skill_directory string Yes Path to skill directory
target string No Platform (default: claude)
streaming boolean No Use streaming mode

Returns: Package info

{
  "package_path": "output/react-claude.zip",
  "platform": "claude",
  "size_bytes": 245760
}

Example:

# Natural language
"Package the React skill for Claude"
"Create a Gemini package for output/django/"
"Package with streaming mode"

upload_skill

Upload skill package to LLM platform.

Parameters:

Name Type Required Description
package_path string Yes Path to package file
target string No Platform (default: claude)
api_key string No Platform API key

Returns: Upload result

{
  "success": true,
  "platform": "claude",
  "skill_id": "skill_abc123"
}

Example:

# Natural language
"Upload the React package to Claude"
"Upload output/django-gemini.tar.gz to Gemini"

enhance_skill

AI-powered enhancement of SKILL.md.

Parameters:

Name Type Required Description
skill_directory string Yes Path to skill directory
mode string No API or LOCAL (default: auto)
workflow string No Workflow preset name

Returns: Enhancement result

{
  "success": true,
  "mode": "LOCAL",
  "skill_md_lines": 450
}

Example:

# Natural language
"Enhance the React skill"
"Enhance with security-focus workflow"
"Run enhancement in API mode"

install_skill

Complete workflow: scrape → enhance → package → upload.

Parameters:

Name Type Required Description
config object/string Yes Config object or file path
target string No Platform (default: claude)
enhance boolean No Enable enhancement (default: true)
upload boolean No Auto-upload (default: true)

Returns: Installation result

{
  "success": true,
  "skill_directory": "output/react/",
  "package_path": "output/react-claude.zip",
  "uploaded": true
}

Example:

# Natural language
"Install the React skill"
"Install Django for Gemini with no upload"
"Complete install of the Vue config"

Extended Tools

scrape_github

Scrape GitHub repository.

Parameters:

Name Type Required Description
repo string Yes Owner/repo format
token string No GitHub token
name string No Skill name
include_issues boolean No Include issues (default: true)
include_releases boolean No Include releases (default: true)

Example:

# Natural language
"Scrape the facebook/react repository"
"Analyze the Django GitHub repo"
"Scrape vercel/next.js with issues"

scrape_pdf

Extract content from PDF file.

Parameters:

Name Type Required Description
pdf_path string Yes Path to PDF file
name string No Skill name
enable_ocr boolean No Enable OCR for scanned PDFs

Example:

# Natural language
"Scrape the manual.pdf file"
"Extract content from API-docs.pdf"
"Process scanned.pdf with OCR"

scrape_codebase

Analyze local codebase.

Parameters:

Name Type Required Description
directory string Yes Path to directory
preset string No quick/standard/comprehensive
languages array No Language filters

Example:

# Natural language
"Analyze the ./my-project directory"
"Scrape this codebase with comprehensive preset"
"Analyze only Python and JavaScript files"

unified_scrape

Multi-source scraping (docs + GitHub + PDF).

Parameters:

Name Type Required Description
config object/string Yes Unified config
merge_mode string No rule-based or claude-enhanced

Example:

# Natural language
"Run unified scraping with my-config.json"
"Combine docs and GitHub for React"
"Multi-source scrape with claude-enhanced merge"

detect_patterns

Detect code patterns in repository.

Parameters:

Name Type Required Description
directory string Yes Path to directory
pattern_types array No Types to detect

Returns: Detected patterns

Example:

# Natural language
"Detect patterns in this codebase"
"Find architectural patterns"
"Show me the code patterns"

extract_test_examples

Extract usage examples from test files.

Parameters:

Name Type Required Description
directory string Yes Path to test directory
language string No Primary language

Returns: Test examples

Example:

# Natural language
"Extract test examples from tests/"
"Get Python test examples"
"Find usage examples in the test suite"

build_how_to_guides

Generate how-to guides from codebase.

Parameters:

Name Type Required Description
directory string Yes Path to directory
topics array No Specific topics

Returns: Generated guides

Example:

# Natural language
"Build how-to guides for this project"
"Generate guides about authentication"
"Create how-to documentation"

extract_config_patterns

Extract configuration patterns.

Parameters:

Name Type Required Description
directory string Yes Path to directory

Returns: Config patterns

Example:

# Natural language
"Extract config patterns from this project"
"Find configuration examples"
"Show me how this project is configured"

detect_conflicts

Find discrepancies between documentation and code.

Parameters:

Name Type Required Description
docs_source string Yes Docs config or directory
code_source string Yes Code directory or repo

Returns: Conflict report

{
  "conflicts": [
    {
      "type": "api_mismatch",
      "doc_signature": "foo(a, b)",
      "code_signature": "foo(a, b, c=default)"
    }
  ]
}

Example:

# Natural language
"Detect conflicts between docs and code"
"Find discrepancies in React"
"Compare documentation to implementation"

scrape_generic

Scrape content from any of the 10 new source types.

Purpose: A generic entry point that delegates to the appropriate CLI scraper module for: jupyter, html, openapi, asciidoc, pptx, confluence, notion, rss, manpage, chat.

Parameters:

Name Type Required Description
source_type string Yes One of: jupyter, html, openapi, asciidoc, pptx, confluence, notion, rss, manpage, chat
name string Yes Skill name for the output
path string No File or directory path (for file-based sources)
url string No URL (for URL-based sources like confluence, notion, rss)

Note: Either path or url must be provided depending on the source type.

Source Type → Input Mapping:

Source Type Typical Input CLI Flag Used
jupyter path --notebook
html path --html-path
openapi path --spec
asciidoc path --asciidoc-path
pptx path --pptx
manpage path --man-path
confluence path or url --export-path / --base-url
notion path or url --export-path / --database-id
rss path or url --feed-path / --feed-url
chat path --export-path

Returns: Scraping results with file paths and statistics

{
  "skill_directory": "output/my-api/",
  "source_type": "openapi",
  "status": "success"
}

Example:

# Natural language
"Scrape the OpenAPI spec at api/openapi.yaml"
"Extract content from my Jupyter notebook analysis.ipynb"
"Process the Confluence export in ./wiki-export/"
"Convert the PowerPoint slides.pptx into a skill"

# Explicit tool call
scrape_generic(source_type="openapi", name="my-api", path="api/openapi.yaml")
scrape_generic(source_type="jupyter", name="ml-tutorial", path="notebooks/tutorial.ipynb")
scrape_generic(source_type="rss", name="blog", url="https://blog.example.com/feed.xml")
scrape_generic(source_type="confluence", name="wiki", path="./confluence-export/")

Config Source Tools

add_config_source

Register a git repository as a config source.

Parameters:

Name Type Required Description
name string Yes Source name
url string Yes Git repository URL
branch string No Git branch (default: main)

Example:

# Natural language
"Add my-configs repo as a source"
"Register https://github.com/org/configs as configs"

list_config_sources

List all registered config sources.

Parameters: None

Returns: List of sources

Example:

# Natural language
"List my config sources"
"Show registered sources"

remove_config_source

Remove a config source.

Parameters:

Name Type Required Description
name string Yes Source name

Example:

# Natural language
"Remove the configs source"
"Delete my old config source"

fetch_config

Fetch configs from a git source.

Parameters:

Name Type Required Description
source string Yes Source name
config_name string No Specific config to fetch

Example:

# Natural language
"Fetch configs from my source"
"Get the react config from configs source"

submit_config

Submit a config to a source.

Parameters:

Name Type Required Description
source string Yes Source name
config_path string Yes Path to config file

Example:

# Natural language
"Submit my-config.json to configs source"
"Add this config to my source"

Config Splitting Tools

split_config

Split large configuration into smaller chunks.

Parameters:

Name Type Required Description
config string Yes Config file path
max_pages_per_chunk number No Pages per chunk (default: 100)
output_dir string No Output directory

Example:

# Natural language
"Split the large config into chunks"
"Break up this 500-page config"
"Split with 50 pages per chunk"

generate_router

Generate a router skill for large documentation.

Parameters:

Name Type Required Description
config string Yes Config file path
output_dir string No Output directory

Example:

# Natural language
"Generate a router for this large config"
"Create a router skill for Django docs"

Vector Database Tools

export_to_weaviate

Export skill to Weaviate vector database.

Parameters:

Name Type Required Description
skill_directory string Yes Path to skill
weaviate_url string No Weaviate URL
class_name string No Class/collection name

Example:

# Natural language
"Export React skill to Weaviate"
"Send to Weaviate at localhost:8080"

export_to_chroma

Export skill to ChromaDB.

Parameters:

Name Type Required Description
skill_directory string Yes Path to skill
collection_name string No Collection name
persist_directory string No Storage directory

Example:

# Natural language
"Export to ChromaDB"
"Send Django skill to Chroma"

export_to_faiss

Export skill to FAISS index.

Parameters:

Name Type Required Description
skill_directory string Yes Path to skill
output_path string No Index file path

Example:

# Natural language
"Export to FAISS index"
"Create FAISS index for this skill"

export_to_qdrant

Export skill to Qdrant.

Parameters:

Name Type Required Description
skill_directory string Yes Path to skill
collection_name string No Collection name
qdrant_url string No Qdrant URL

Example:

# Natural language
"Export to Qdrant"
"Send skill to Qdrant vector DB"

Workflow Tools

list_workflows

List all available workflow presets.

Parameters: None

Returns:

{
  "workflows": [
    {"name": "security-focus", "source": "bundled"},
    {"name": "my-custom", "source": "user"}
  ]
}

Example:

# Natural language
"List available workflows"
"What workflow presets do I have?"

get_workflow

Get full YAML content of a workflow.

Parameters:

Name Type Required Description
name string Yes Workflow name

Returns: Workflow YAML

Example:

# Natural language
"Show me the security-focus workflow"
"Get the YAML for the default workflow"

create_workflow

Create a new workflow.

Parameters:

Name Type Required Description
name string Yes Workflow name
yaml_content string Yes Workflow YAML

Example:

# Natural language
"Create a workflow called my-workflow"
"Save this YAML as a new workflow"

update_workflow

Update an existing workflow.

Parameters:

Name Type Required Description
name string Yes Workflow name
yaml_content string Yes New YAML content

Example:

# Natural language
"Update my-custom workflow"
"Modify the security-focus workflow"

delete_workflow

Delete a user workflow.

Parameters:

Name Type Required Description
name string Yes Workflow name

Example:

# Natural language
"Delete my-old-workflow"
"Remove the test workflow"

Common Patterns

Pattern 1: Quick Documentation Skill

# Natural language sequence:
"List available configs"
"Scrape the react config"
"Package output/react for Claude"

Tools: list_configsscrape_docspackage_skill


Pattern 2: GitHub Repository Analysis

# Natural language sequence:
"Scrape the facebook/react GitHub repo"
"Enhance the output/react skill"
"Package it for Gemini"

Tools: scrape_githubenhance_skillpackage_skill


Pattern 3: Complete One-Command

# Natural language:
"Install the Django skill for Claude"

Tool: install_skill


Pattern 4: Multi-Source with Workflows

# Natural language sequence:
"List available workflows"
"Run unified scrape with my-unified.json"
"Apply security-focus and api-documentation workflows"
"Package for Claude"

Tools: list_workflowsunified_scrapeenhance_skillpackage_skill


Pattern 5: New Source Type Scraping

# Natural language sequence:
"Scrape the OpenAPI spec at api/openapi.yaml"
"Package the output for Claude"

Tools: scrape_genericpackage_skill


Pattern 6: Vector Database Export

# Natural language sequence:
"Scrape the Django documentation"
"Export to ChromaDB"

Tools: scrape_docsexport_to_chroma


Error Handling

Common Errors

Error Cause Solution
ConfigNotFoundError Config doesn't exist Check config name or path
InvalidConfigError Config malformed Use validate_config
ScrapingError Network or selector issue Check URL and selectors
RateLimitError Too many requests Wait or use token
EnhancementError AI enhancement failed Check API key or Claude Code

Error Response Format

{
  "error": true,
  "error_type": "ConfigNotFoundError",
  "message": "Config 'react' not found",
  "suggestion": "Run list_configs to see available configs"
}

See Also


For tool help: Ask the AI agent about specific tools