Skip to main content
Glama
lemosjs

LottieFiles MCP Server

by lemosjs
README.md
# LottieFiles MCP Server (Cloudflare Workers)

A remote MCP (Model Context Protocol) server that provides access to the LottieFiles API, deployed on Cloudflare Workers.

## Features

Search and discover Lottie animations through these MCP tools:

| Tool | Description |
|------|-------------|
| `search_animations` | Search for animations by keywords, tags, and other criteria |
| `get_animation_details` | Get detailed info about a specific animation |
| `get_popular_animations` | Get currently trending animations |
| `search_animations_by_user` | Find animations by a specific creator |

## Getting Started

### Local Development

```bash
npm install
npm run dev
```

The server will be available at `http://localhost:8787`

### Deploy to Cloudflare

```bash
npm run deploy
```

This will deploy your MCP server to: `mcp-server-lottiefiles.<your-account>.workers.dev`

## Endpoints

| Endpoint | Transport | Description |
|----------|-----------|-------------|
| `/sse` | SSE | Server-Sent Events transport |
| `/mcp` | HTTP | HTTP transport |

## Connecting MCP Clients

### Cloudflare AI Playground

1. Go to https://playground.ai.cloudflare.com/
2. Enter your MCP server URL: `mcp-server-lottiefiles.<your-account>.workers.dev/sse`
3. Start using the LottieFiles tools!

### Claude Desktop

Add this to your Claude Desktop config (Settings > Developer > Edit Config):

```json
{
  "mcpServers": {
    "lottiefiles": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8787/sse"
      ]
    }
  }
}
```

For production, replace `http://localhost:8787/sse` with your deployed URL.

### Claude Code

```bash
claude mcp add lottiefiles-remote --transport sse http://localhost:8787/sse
```

## Tool Usage Examples

### Search Animations
```json
{
  "tool": "search_animations",
  "arguments": {
    "query": "loading spinner",
    "limit": 10
  }
}
```

### Get Animation Details
```json
{
  "tool": "get_animation_details",
  "arguments": {
    "id": "animation-id-here"
  }
}
```

### Get Popular Animations
```json
{
  "tool": "get_popular_animations",
  "arguments": {
    "limit": 20
  }
}
```

## Project Structure

```
src/
  index.ts           # MCP server entry point with tool definitions
  types.ts           # TypeScript interfaces
  api/
    LottieApiClient.ts  # LottieFiles API client
```

## License

MIT