-
Notifications
You must be signed in to change notification settings - Fork 12
Commit c1ae97e
feat: Add comprehensive parameter descriptions and tool annotations to improve MCP quality score
This commit implements major quality improvements to achieve a perfect 100/100 MCP server quality score:
## Changes Made (+31 points potential improvement)
### 1. Parameter Descriptions for All 8 Tools (+12pts)
- Created Pydantic input models for all tools with detailed parameter descriptions
- Each parameter now includes comprehensive documentation with examples
- Clear indication of required vs optional parameters
- Usage context and default values documented
### 2. Tool Annotations for All 8 Tools (+9pts)
- Added MCP annotations (readOnlyHint, destructiveHint, idempotentHint) to all 8 tools
- Proper categorization of tool behaviors:
* Read-only tools: markdownify, smartscraper, searchscraper, scrape, sitemap, smartcrawler_fetch_results
* Write/Action tools: smartcrawler_initiate, agentic_scrapper
* Idempotent tools: markdownify, smartscraper, scrape, sitemap, smartcrawler_fetch_results
* Non-idempotent tools: searchscraper, smartcrawler_initiate, agentic_scrapper
### 3. Enhanced Tool Implementations
- All 8 tools now use Pydantic models for input validation
- Improved docstrings with detailed descriptions of functionality
- Better documentation of return values and usage patterns
- Credit costs and operation types clearly documented
## Tools Updated
1. markdownify - Convert webpages to markdown
2. smartscraper - AI-powered data extraction
3. searchscraper - AI web search with extraction
4. smartcrawler_initiate - Async multi-page crawling
5. smartcrawler_fetch_results - Fetch crawl results
6. scrape - Basic page content fetching
7. sitemap - Website structure extraction
8. agentic_scrapper - Complex multi-step workflows
## Configuration
- Config schema already properly documented (optional config)
- API key can be provided via config or environment variable
## Testing
- Python syntax validation passed
- Pydantic models properly structured with Field descriptions
- All dependencies correctly specified in pyproject.toml
This update ensures users have clear, comprehensive documentation for all tool parameters
and proper semantic hints for tool behavior, greatly improving the developer experience.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>1 parent a429f62 commit c1ae97eCopy full SHA for c1ae97e
File tree
Expand file treeCollapse file tree
1 file changed
+242
-113
lines changedOpen diff view settings
Filter options
- src/scrapegraph_mcp
Expand file treeCollapse file tree
1 file changed
+242
-113
lines changedOpen diff view settings
0 commit comments