mcp-tool
Create new MCP tools. Use when adding tools, creating MCP capabilities, extending server functionality, or adding new agent abilities.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Creating MCP Tools
MCP tools follow a two-layer pattern: pure Domain logic wrapped by an MCP server tool.
Steps
-
Domain Tool - Create in
Domain/Tools/with pure business logic -
MCP Wrapper - Create in
McpServer*/McpTools/inheriting from Domain tool -
Registration - Add to DI in the MCP server's
Program.csor module
Which MCP Server?
| Server | Purpose |
|---|---|
McpServerLibrary |
Torrent search, downloads, file organization |
McpServerText |
Text/markdown file inspection and editing |
McpServerWebSearch |
Web search and content fetching |
McpServerMemory |
Vector-based memory storage and recall |
McpServerCommandRunner |
CLI command execution |
Templates
See domain-template.md for the Domain tool pattern. See mcp-template.md for the MCP wrapper pattern.
Checklist
- Domain tool has
NameandDescriptionconstants - Domain tool contains pure logic (no MCP dependencies)
- MCP wrapper uses
[McpServerToolType]class attribute - MCP wrapper uses
[McpServerTool]and[Description]method attributes - Error handling returns
ToolResponse.Create(ex)on failure - Logging includes tool name context
- CancellationToken passed through all async operations
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-04
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!