MCP Tools
Overview
MCP tools extend Claude's capabilities by providing functions that Claude can call to perform actions or retrieve data. The Seed MCP server includes several demonstration and utility tools that showcase different aspects of the MCP protocol.
Tools are functions that Claude can invoke during conversations to:
- Retrieve information from the server
- Perform operations and return results
- Demonstrate MCP protocol features
- Test connectivity and authentication
Available Tools
System Tools
echo
Test tool connectivity and message handling. Returns your input message with metadata, useful for verifying your MCP connection is working.
healthcheck
Check server health and availability. Returns status, version, and uptime information for monitoring purposes.
system-status
Get comprehensive system information including memory usage, CPU load, and service health. Provides detailed operational metrics.
Authentication Tools
user-info
Get authenticated user information from your JWT token. Shows your user ID, email, name, and group memberships.
MCP Protocol Demonstrations
These tools demonstrate different features of the MCP protocol. They're primarily educational but can also test MCP client implementations.
log-demo
Demonstrate MCP logging protocol with structured logs at different severity levels (debug, info, warning, error, critical).
trigger-notification
Demonstrate MCP notification protocol for resource updates, list changes, and custom notifications.
sampling-demo
Demonstrate MCP sampling protocol showing how servers can request LLM operations from clients (summarization, analysis, generation).
roots-demo
Demonstrate MCP roots protocol for exposing filesystem and project structure to clients.
Quick Reference
| Tool | Auth Required | Category | Purpose |
|---|---|---|---|
| echo | No | System | Test connectivity |
| healthcheck | No | System | Server health check |
| system-status | No | System | Detailed system info |
| user-info | Yes | Auth | User information |
| log-demo | No | Demo | Logging protocol |
| trigger-notification | No | Demo | Notification protocol |
| sampling-demo | No | Demo | Sampling protocol |
| roots-demo | No | Demo | Roots protocol |
Using Tools with Claude
In Conversation
Simply ask Claude to use a tool in natural language:
"Check the server health"
"What user am I logged in as?"
"Show me an example of MCP logging at the warning level"Claude will understand your intent and invoke the appropriate tool.
With Specific Parameters
For tools that accept parameters, provide details in your request:
"Echo back the message: Testing 123"
"Show me debug level logs with a custom message"
"Trigger a resource update notification for config://server"Chaining Tools
Claude can use multiple tools in sequence to accomplish complex tasks:
"First check the system status, then show me my user information"
"Get the server health and echo back a summary"Tool Response Format
All tools return responses in a consistent format:
Success Response
{
"content": [
{
"type": "text",
"text": "Response text here..."
}
],
"isError": false
}Error Response
{
"content": [
{
"type": "text",
"text": "Error message..."
}
],
"isError": true
}Authentication Requirements
Some tools require authentication with a valid JWT token:
- No Auth Required: echo, healthcheck, system-status, all demo tools
- Auth Required: user-info
When authentication is required but not provided, you'll receive a clear error message explaining the issue.
Error Handling
Tools may return errors in these cases:
- Missing Authentication: Tool requires auth but no valid token provided
- Invalid Parameters: Parameters don't match the expected schema
- Server Error: Internal error during tool execution
- Permission Denied: User lacks required permissions
Error messages are designed to be clear and actionable.
Best Practices
For Users
- Start Simple - Try basic tools like echo and healthcheck first
- Check Auth - Ensure you're authenticated for tools that require it
- Read Errors - Error messages contain helpful information
- Be Specific - Provide clear context in your requests to Claude
For Developers
See the Development Guide for:
- Creating new tools
- Tool registration patterns
- Input validation with Zod
- Error handling strategies
- Testing approaches
- User context access
Tool vs Prompt vs Resource
Use a Tool when:
- Performing actions (calculations, queries)
- Retrieving dynamic data
- Testing connectivity
- Demonstrating protocols
Use a Prompt when:
- Generating conversational responses
- Creating standardized message templates
- Formatting data for presentation
Use a Resource when:
- Accessing static or semi-static data
- Reading configuration
- Viewing user profiles
- Retrieving reference information
Next Steps
- MCP Prompts - Learn about prompt templates
- MCP Resources - Explore available resources
- Development Guide - Build your own tools
- API Reference - MCP endpoint documentation