smithery/adeze

mcp-refactoring

Refactoring MCP Tools for Better LLM Integration and Usability

Installation

$ npx skills add smithery/adeze --skill mcp-refactoring

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/adeze.

npx skills add smithery/adeze

Browse all from smithery/adeze

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,885 B
  • docs SUMMARY.md 85 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

MCP Refactoring Skill

Guidelines for refactoring Raindrop MCP tools for better LLM integration, usability, and following MCP best practices.

Capabilities: Resources, Sampling, Elicitation

Resources

Expose all major Raindrop entities as MCP resources:

  • collections://all, collections://{id}
  • bookmarks://{id}, tags://all
  • highlights://all, user://info

Implement resource discovery and navigation (list, get, search, children, etc.) using standard MCP resource URIs and methods. Ensure each resource supports GET (read), and where appropriate, CREATE, UPDATE, DELETE (write) actions.

Sampling

For large collections/bookmarks/tags/highlights, implement sampling endpoints:

  • e.g., bookmarks://collection/{id}?sample=10 returns a random or recent sample.
  • Add tool parameters for limit, offset, and sample to all list/search tools.
  • Use MCP's sampling capability to advertise this in the server manifest.

Elicitation

Implement elicitation tools for:

  • Confirming destructive actions (delete, merge, etc.)
  • Requesting missing parameters (e.g., if a required field is omitted, prompt the LLM/user)
  • Use the MCP elicitation capability to allow the server to ask clarifying questions or confirmations.

Streamlining Tools for LLMs

Hierarchical, Predictable Naming

  • Use a consistent {resource}{action} pattern (e.g., collectionlist, bookmarkcreate, tagmanage)
  • Group related actions under a single tool with an operation parameter where possible (e.g., collection_manage for create, update, delete)

Reduce Redundancy

Collapse similar tools:

  • Merge collectioncreate, collectionupdate, collectiondelete into collectionmanage with an operation parameter
  • Do the same for bookmarks, tags, highlights
  • For read-only actions, keep list, get, and search as separate, simple tools

LLM-Friendly Descriptions

  • Ensure every tool and parameter has a clear, concise description
  • Use Zod schemas for validation and documentation

Example: Refactored Tool Set

Tool Name Description Operations/Params
collection_manage Create, update, or delete a collection operation: create/update/delete
collection_list List all or child collections parentId
bookmark_manage Create, update, delete, move, tag bookmarks operation, ids, data
bookmark_search Search bookmarks with filters query, tags, collection, etc.
tag_manage Rename, merge, delete tags operation, tagNames, newName
highlight_manage Create, update, delete highlights operation, id, data
user_profile Get user info
user_statistics Get user or collection stats collectionId
import_export Import/export bookmarks, check status operation, format, etc.
diagnostics Server diagnostics includeEnvironment

LLM/AI-Optimized Features

  • Resource URIs: Support direct resource access via URIs (e.g., collections://all)
  • Streaming: For large lists, support streaming or pagination
  • Sampling: Add sample and limit parameters to all list/search tools
  • Elicitation: Use MCP's elicitation to prompt for missing/ambiguous info and confirmations
  • Consistent Error Handling: Always return structured, descriptive errors