Simple Animal Data MCP Server

A simple MCP server providing static information about animals like cats, dogs, and birds.

Simple Animal Data MCP Server

A basic Model Context Protocol (MCP) server that provides static information about animals (cats, dogs, and birds) for use with Claude Desktop.

Installation

  1. Clone or download this project
  2. Create a virtual environment and install dependencies:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Usage

Running the Server

source venv/bin/activate
python server.py

Available Tools

The server provides three tools:

  • get_cat_info: Returns information about cats
  • get_dog_info: Returns information about dogs
  • get_bird_info: Returns information about birds

Claude Desktop Configuration

To use this MCP server with Claude Desktop, you need to create or edit the MCP configuration file:

Configuration File Location

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

Creating the Configuration File

If the file doesn't exist, create it with the following content:

{
  "mcpServers": {
    "animal-data": {
      "command": "python",
      "args": ["/Users/james/Work/mcp/simple/server.py"],
      "cwd": "/Users/james/Work/mcp/simple",
      "env": {
        "PATH": "/Users/james/Work/mcp/simple/venv/bin:/usr/bin:/bin"
      }
    }
  }
}

Alternative: Using Claude Desktop Settings

You can also configure this through Claude Desktop:

  1. Open Claude Desktop
  2. Go to Settings (Cmd+, on macOS or Ctrl+, on Windows)
  3. Navigate to the "Developer" tab
  4. Click "Edit Config" to open the configuration file
  5. Add the MCP server configuration as shown above

Important:

  • Replace /Users/james/Work/mcp/simple with your actual project directory path
  • Restart Claude Desktop after making configuration changes

Example Usage in Claude Desktop

Once configured, you can ask Claude Desktop to use the animal data tools:

Example Queries

"Tell me about cats"

  • Claude will use the get_cat_info tool and return: "Cats are independent, agile domestic animals known for their hunting skills and affectionate nature."

"What information do you have about dogs?"

  • Claude will use the get_dog_info tool and return: "Dogs are loyal, social companion animals known for their intelligence and strong bond with humans."

"Give me bird information"

  • Claude will use the get_bird_info tool and return: "Birds are feathered, winged animals capable of flight, known for their diverse songs and nesting behaviors."

"Compare cats, dogs, and birds"

  • Claude will use all three tools to gather information and provide a comparison.

HTTP Server Version

For remote deployment, use the HTTP server version:

Running the HTTP Server

# Install HTTP dependencies
source venv/bin/activate
pip install -r requirements-http.txt

# Start the HTTP server
python http_server.py

The server will start on http://localhost:8000 and accept MCP requests via HTTP POST to /mcp.

HTTP Server Configuration

For HTTP deployment, use the alternative configuration file claude_desktop_config_http.json:

{
  "mcpServers": {
    "animal-data-http": {
      "command": "curl",
      "args": [
        "-X", "POST",
        "http://your-server.com:8000/mcp",
        "-H", "Content-Type: application/json",
        "-d", "@-"
      ]
    }
  }
}

Replace http://your-server.com:8000 with your actual server URL.

Deployment Options

  • Local HTTP: Run on localhost:8000 for local HTTP testing
  • Remote Server: Deploy to cloud services like Heroku, AWS, Google Cloud
  • Docker: Containerize for easy deployment

Docker Deployment (Optional)

Create a Dockerfile:

FROM python:3.11-slim
WORKDIR /app
COPY requirements-http.txt .
RUN pip install -r requirements-http.txt
COPY http_server.py .
EXPOSE 8000
CMD ["python", "http_server.py"]

Project Structure

simple/
├── server.py                      # Local MCP server (stdio transport)
├── http_server.py                 # HTTP MCP server (http transport)
├── requirements.txt               # Dependencies for local server
├── requirements-http.txt          # Dependencies for HTTP server
├── claude_desktop_config_http.json # HTTP server configuration example
├── venv/                          # Virtual environment (created after setup)
└── README.md                      # This documentation

Dependencies

  • fastmcp: Framework for building MCP servers with Python

Troubleshooting

  1. Server won't start: Ensure the virtual environment is activated and dependencies are installed
  2. Claude Desktop can't connect: Verify the configuration file path and server path are correct
  3. Tools not available: Restart Claude Desktop after updating the configuration file

Related Servers