Skip to main content
Glama
elliotnorrevik

My Awesome MCP

README.md
# ddg-mcp4

An awesome MCP generated by AI

## Features

- ๐Ÿš€ Built with FastMCP framework
- ๐Ÿ”„ Supports both stdio and HTTP transports
- ๐Ÿณ Docker ready
- ๐Ÿ“ Type hints throughout
- ๐Ÿงช Test suite included
- โš™๏ธ GitHub Actions CI/CD

## Installation

1. Clone this repository
2. Create a virtual environment:
   ```bash
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
   ```
3. Install dependencies:
   ```bash
   pip install -r requirements.txt
   pip install -e .
   ```

## Usage

### Stdio Transport (for Claude Desktop, etc.)

```bash
ddg_mcp4-mcp --transport stdio
```

### HTTP Transport (for web integration)

```bash
ddg_mcp4-mcp --transport streamable-http --port 8080
```

### Docker

```bash
# Build image
docker build -t ddg-mcp4 .

# Run container
docker run -p 8080:8080 ddg-mcp4
```

## Available Tools

- `example_tool`: Echo a message back
- `get_server_info`: Get information about this MCP server

## Development

### Running Tests

```bash
pip install pytest pytest-asyncio
pytest tests/
```

### Adding New Tools

1. Create a new function in `ddg_mcp4/app.py`
2. Decorate it with `@mcp.tool()`
3. Add proper type hints and docstring
4. The tool will automatically be available to MCP clients

Example:
```python
@mcp.tool()
async def my_new_tool(input_text: str) -> Dict[str, Any]:
    """
    Description of what this tool does.
    
    Args:
        input_text: Description of the parameter
    
    Returns:
        Dictionary with the result
    """
    return {"result": f"Processed: {input_text}"}
```

## Configuration



## Deployment


### Docker Deployment

This project includes a Dockerfile for easy deployment:

```bash
docker build -t ddg-mcp4 .
docker run -p 8080:8080 ddg-mcp4
```



### CI/CD

This project includes GitHub Actions workflows for:
- Running tests on multiple Python versions
- Building and testing Docker images
- Automated deployment (when configured)


## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests for new functionality
5. Run the test suite
6. Create a pull request

## License

MIT License