home / mcp / asana mcp server

Asana MCP Server

MCP Server generated by mcp.ag2.ai

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "allisonwhilden-asana": {
      "command": "python",
      "args": [
        "mcp_server/main.py",
        "stdio"
      ],
      "env": {
        "CONFIG": "A JSON string containing the configuration",
        "SECURITY": "Environment variables for security parameters (e.g., API keys)",
        "CONFIG_PATH": "Path to a JSON config file (e.g., mcp_server/mcp_config.json)"
      }
    }
  }
}

You run an MCP (Multi-Agent Conversation Protocol) server that bridges an API-driven data source with an MCP client, enabling coordinated conversations across agents. This server is configured to work with a specific API source and provides a programmable way to start, test, and interact with the MCP flow from your local environment or a development container.

How to use

Start the MCP server in stdio mode to interact with an MCP client running on your machine or CI environment. You will run a local Python process that starts the MCP server and exposes a standard I/O channel for communication. Use your client to send requests and receive responses according to the MCP protocol, enabling multi-agent coordination with the configured data source.

How to install

Prerequisites you need before installing and running the MCP server:

  • Python 3.9+
  • pip
  • uv

How to install

Follow these concrete steps to set up and run the MCP server locally.

# Step 1: Clone the project
git clone <repository-url>
cd mcp-server

# Step 2: Install development dependencies
pip install -e ".[dev]"

# Alternative using uv
uv pip install --editable ".[dev]"

Additional configuration and notes

To run the server in stdio mode, use the following command. This starts the MCP server in a local process and connects via standard input/output for dialogue with an MCP client.

python mcp_server/main.py stdio

Security and environment configuration

Configure runtime behavior and security through environment variables. The server recognizes these keys to load configuration and security parameters.

CONFIG_PATH=/path/to/mcp_config.json
CONFIG='{"example_key": "value"}'
SECURITY={"api_key": "YOUR_API_KEY"}

Running tests and development tooling

The project uses common Python tooling to lint, type-check, test, and ensure quality. Use these commands to validate your code and run tests during development.

ruff check
ruff format
./scripts/static-analysis.sh
./scripts/test.sh
./scripts/test-cov.sh
pre-commit install

Build and publish steps

When you are ready to package your MCP server for distribution, build and publish using the provided tooling.

hatch build
hatch publish

Available tools

ruff

Lints and formats Python code; enforces style and quality checks.

mypy

Performs static type checking to catch type errors before runtime.

pytest

Runs tests to validate functionality and regressions.

pre-commit

Runs a set of hooks before each commit to ensure code quality.

hatch

Builds and publishes the MCP server package.