Skip to content

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

ToolAuth RequiredCategoryPurpose
echoNoSystemTest connectivity
healthcheckNoSystemServer health check
system-statusNoSystemDetailed system info
user-infoYesAuthUser information
log-demoNoDemoLogging protocol
trigger-notificationNoDemoNotification protocol
sampling-demoNoDemoSampling protocol
roots-demoNoDemoRoots 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

json
{
  "content": [
    {
      "type": "text",
      "text": "Response text here..."
    }
  ],
  "isError": false
}

Error Response

json
{
  "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

  1. Start Simple - Try basic tools like echo and healthcheck first
  2. Check Auth - Ensure you're authenticated for tools that require it
  3. Read Errors - Error messages contain helpful information
  4. 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

Released under the MIT License.