Skip to content

Commit ac16997

Browse files
authored
Merge pull request #1 from smithery-ai/smithery/config-kpwy
Deployment: Dockerfile and Smithery config
2 parents f671ccd + fb80567 commit ac16997

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

Dockerfile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
2+
# Use a Python image with uv pre-installed
3+
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS uv
4+
5+
# Set the working directory in the container
6+
WORKDIR /app
7+
8+
# Enable bytecode compilation
9+
ENV UV_COMPILE_BYTECODE=1
10+
11+
# Copy the necessary project files
12+
COPY pyproject.toml uv.lock /app/
13+
14+
# Install the project's dependencies using the lockfile
15+
RUN --mount=type=cache,target=/root/.cache/uv \
16+
uv sync --frozen --no-install-project --no-dev --no-editable
17+
18+
# Add the rest of the project source code and install it
19+
COPY src /app/src
20+
21+
RUN --mount=type=cache,target=/root/.cache/uv \
22+
uv sync --frozen --no-dev --no-editable
23+
24+
# Runtime base
25+
FROM python:3.12-slim-bookworm
26+
27+
WORKDIR /app
28+
29+
COPY --from=uv /root/.local /root/.local
30+
COPY --from=uv /app/.venv /app/.venv
31+
32+
# Set environment variable for Python path
33+
ENV PATH="/app/.venv/bin:$PATH"
34+
35+
# Default command to run the server
36+
ENTRYPOINT ["mcp-server-rabbitmq"]

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
# RabbitMQ MCP Server
2+
[![smithery badge](https://smithery.ai/badge/@kenliao94/mcp-server-rabbitmq)](https://smithery.ai/server/@kenliao94/mcp-server-rabbitmq)
23

34
A [Model Context Protocol](https://www.anthropic.com/news/model-context-protocol) server implementation for RabbitMQ. Enabling MCP client to interact with queues and topics hosted in a RabbitMQ instance.
45

56
## Running locally with the Claude desktop app
67

8+
### Installing via Smithery
9+
10+
To install RabbitMQ MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@kenliao94/mcp-server-rabbitmq):
11+
12+
```bash
13+
npx -y @smithery/cli install @kenliao94/mcp-server-rabbitmq --client claude
14+
```
15+
16+
### Manual Installation
717
1. Clone this repository.
818
2. Add the following to your `claude_desktop_config.json` file:
919
- On MacOS: `~/Library/Application\ Support/Claude/claude_desktop_config.json`

smithery.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
2+
3+
startCommand:
4+
type: stdio
5+
configSchema:
6+
# JSON Schema defining the configuration options for the MCP.
7+
type: object
8+
required:
9+
- rabbitmqHost
10+
- port
11+
- username
12+
- password
13+
- useTls
14+
properties:
15+
rabbitmqHost:
16+
type: string
17+
description: The hostname of the RabbitMQ server.
18+
port:
19+
type: number
20+
description: The port number to connect to RabbitMQ.
21+
username:
22+
type: string
23+
description: Username for RabbitMQ authentication.
24+
password:
25+
type: string
26+
description: Password for RabbitMQ authentication.
27+
useTls:
28+
type: boolean
29+
description: Use TLS for the connection (amqps if true).
30+
commandFunction:
31+
# A function that produces the CLI command to start the MCP on stdio.
32+
|-
33+
(config) => ({ command: 'mcp-server-rabbitmq', args: ['--rabbitmq-host', config.rabbitmqHost, '--port', config.port.toString(), '--username', config.username, '--password', config.password, '--use-tls', config.useTls.toString()] })

0 commit comments

Comments
 (0)