Metadata-Version: 2.4
Name: daisys-mcp
Version: 1.0.3
Summary: Daisys MCP Server
Author-email: Jasper Jumelet <jasper@daisys.ai>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: daisys>=1.1.0
Requires-Dist: httpx-ws>=0.7.2
Requires-Dist: mcp>=1.6.0
Requires-Dist: mcp[cli]==1.6
Requires-Dist: numpy>=2.2.5
Requires-Dist: pyaudio>=0.2.14
Requires-Dist: pydantic>=2.10.6
Requires-Dist: sounddevice>=0.5.1
Requires-Dist: soundfile>=0.13.1
Requires-Dist: wave>=0.0.2
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.8; extra == "dev"
Requires-Dist: pre-commit==3.6.2; extra == "dev"
Requires-Dist: ruff==0.3.0; extra == "dev"
Requires-Dist: fastmcp==0.4.1; extra == "dev"
Requires-Dist: twine==6.1.0; extra == "dev"
Requires-Dist: pytest==8.0.0; extra == "dev"
Requires-Dist: build>=1.0.3; extra == "dev"

# Daisys MCP server

Daisys-mcp is a beta version and doesn't have a stable release yet. But you can try it out by doing the following:

1. Get an account on [Daisys](https://www.daisys.ai/) and create an username and password.


If you run on mac os run the following command:
```bash
brew install portaudio
```

If you run on linux run the following command:
```bash
sudo apt install portaudio19-dev libjack-dev
```

2. Add the following configuration to the mcp config file in your MCP client ([Claude Desktop](https://claude.ai/download), [Cursor](https://www.cursor.com/), [mcp-cli](https://github.com/chrishayuk/mcp-cli), [mcp-vscode](https://code.visualstudio.com/docs/copilot/chat/mcp-servers), etc.):
```json
{
  "mcpServers": {
    "daisys-mcp": {
      "command": "uvx",
      "args": ["daisys-mcp"],
      "env": {
        "DAISYS_EMAIL": "{Your Daisys Email}",
        "DAISYS_PASSWORD": "{Your Daisys Password}"
      }
    }
  }
}
```

## To build from source:

1. clone the repository: `git clone https://github.com/daisys-ai/daisys-mcp.git`

2. cd into the repository: `cd daisys-mcp`

3. Install `uv` (Python package manager), install with `curl -LsSf https://astral.sh/uv/install.sh | sh` or see the `uv` [repo](https://github.com/astral-sh/uv) for additional install methods.

4. Create a virtual environment and install dependencies [using uv](https://github.com/astral-sh/uv):

```bash
uv venv
# source .venv/Scripts/activate (Windows)
source .venv/bin/activate (mac and linux)
uv pip install -e .
```

5. Add the following to your config file in your MCP client ([Claude Desktop](https://claude.ai/download), [Cursor](https://www.cursor.com/), [mcp-cli](https://github.com/chrishayuk/mcp-cli), [mcp-vscode](https://code.visualstudio.com/docs/copilot/chat/mcp-servers), etc.):
```json
{
    "mcpServers": {
        "daisys-mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "{installation_path}/daisys-mcp",
                "run",
                "-m",
                "daisys_mcp.server"
            ],
            "env": {
                "DAISYS_EMAIL": "{Your Daisys Email}",
                "DAISYS_PASSWORD": "{Your Daisys Password}"
            }
        }
    }
}
```

## Common Issues

If you get any issues with portaudio on linux, you can try installing it manually:
```bash
sudo apt-get update
sudo apt-get install -y portaudio19-dev
```

## Contributing

If you want to contribute or run from source:

1. Clone the repository:

```bash
git clone https://github.com/daisys-ai/daisys-mcp.git
cd daisys_mcp
```

2. Create a virtual environment and install dependencies [using uv](https://github.com/astral-sh/uv):

```bash
uv venv
source .venv/bin/activate
uv pip install -e .
uv pip install -e ".[dev]"
```

3. Copy `.env.example` to `.env` and add your DAISYS username and password:

```bash
cp .env.example .env
# Edit .env and add your DAISYS username and password
```

4. Test the server by running the tests:

```bash
uv run pytest
```

you can also run a full integration test with:

```bash
uv run pytest -m 'requires_credentials' # ⚠️ Running full integration tests does costs tokens on the Daisys platform 
```

5. Debug and test locally with MCP Inspector: `uv run mcp dev daisys_mcp/server.py`
