home / mcp / soundcloud mcp server

SoundCloud MCP Server

MCP Server generated by mcp.ag2.ai

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ag2-mcp-servers-soundcloud-public-api-specification": {
      "command": "python",
      "args": [
        "mcp_server/main.py",
        "stdio"
      ],
      "env": {
        "CONFIG": "{\"transport\":\"stdio\"}",
        "SECURITY": "{\"api_key\":\"YOUR_API_KEY\"}",
        "CONFIG_PATH": "/path/to/mcp_config.json"
      }
    }
  }
}

You run an MCP server that exposes a SoundCloud public API specification via the MCP protocol. It lets you connect an MCP client to a local or remote server, fetch the API endpoints, and drive data interactions in a consistent, context-aware way.

How to use

Start the MCP server in stdio mode to connect your MCP client locally. The server supports additional transport modes, such as sse and streamable-http, but stdio is the simplest for local development.

How to install

Prerequisites include Python 3.9 or newer, and you need a Python package manager. You will also use a command runner to start the server.

# 1) Clone the project
git clone <repository-url>
cd mcp_server

# 2) Install dependencies (dev) with pip
pip install -e ".[dev]"

# Alternatively, install via uv runner
uv pip install --editable ".[dev]"

Additional content

Configuration is provided through environment variables and, optionally, a JSON configuration file. You can specify either CONFIG_PATH pointing to a file or CONFIG containing a JSON string. For security, you may set SECURITY to configure API keys or other secrets.

# Example: set path to a JSON configuration
export CONFIG_PATH=/path/to/mcp_config.json

# Example: or set a JSON string directly
export CONFIG='{"transport":"stdio"}'

# Optional security parameters
export SECURITY='{"api_key":"YOUR_API_KEY"}'

Running and managing the server

To start the server in stdio mode using the explicit command shown, run the following. The command includes the Python interpreter and the path to the main script, followed by the mode argument.

python mcp_server/main.py stdio

Notes on development and tooling

Development uses linting, static type checks, and tests. You can run linting, formatting, and analysis to keep code quality high.

# Linting
ruff check
ruff format

# Static analysis
./scripts/static-analysis.sh

# Run tests with coverage
./scripts/test.sh
./scripts/test-cov.sh

Configuration and environment variables

The server can read configuration from a JSON file or from an inline JSON string using environment variables. The key variables you may encounter are CONFIG_PATH, CONFIG, and SECURITY. CONFIG_PATH points to a JSON file path, CONFIG contains the JSON string, and SECURITY configures security-related parameters such as API keys.

Available tools

ruff

Lints and formats Python code to enforce code quality and consistent style.

mypy

Performs static type checking to catch type errors early.

pytest

Runs unit tests to verify functionality and regressions.

pre-commit

Runs a set of checks before each commit to maintain code quality.

hatch

Builds and publishes the MCP project.