home / mcp / asana mcp server

Asana MCP Server

This read-only MCP Server allows you to connect to Asana data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out the first managed MCP platform: CData Connect AI (https://www.cdata.com/ai/).

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cdatasoftware-asana-mcp-server-by-cdata": {
      "command": "java",
      "args": [
        "-jar",
        "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
        "/PATH/TO/asana.prp"
      ]
    }
  }
}

You run a local, read-only MCP server that exposes live Asana data through a simple MCP interface. It lets you ask natural-language questions and get results from Asana without writing SQL, while keeping the data access lightweight and read-only for safety and simplicity.

How to use

You connect an MCP-enabled client (such as Claude Desktop) to the local server you run on your machine. Start the server with your prepared Asana connection profile, then configure your client to load that MCP server. Once connected, you can ask questions like “What are my open tasks in the Marketing project?” or “Show me calendar events today,” and the client will fetch live data from Asana through the MCP layer. Use the built-in tools to list tables, inspect columns, and run read-only queries as needed, while your client handles the natural-language interactions.

How to install

Prerequisites: You need Java installed on your machine to run the MCP server JAR. The project uses Maven to build the server package.

Step 1: Clone the project repository.

Step 2: Build the server package.

# Step 1: Clone the repository
git clone https://github.com/cdatasoftware/asana-mcp-server-by-cdata.git
cd asana-mcp-server-by-cdata

# Step 2: Build the server package
mvn clean install

# This creates the JAR: CDataMCP-jar-with-dependencies.jar

Additional setup and configuration

Install the CData JDBC Driver for Asana, license it, and configure a connection string. Then create a .prp file with your JDBC connection details. These steps are shown in the setup sequence, including how to license the driver, run the Connection String utility, and save the final JDBC URL to use in your .prp file.

Running the server

Run the MCP server on its own using the Java runtime and your prepared .prp file. The server operates in stdio mode, so it is intended to be used with a client on the same machine.

Configuration and client integration notes

Configure Claude Desktop (or another MCP client) to load the Asana MCP server by adding an entry to your MCP config. You will point to the Java runtime and pass the MCP JAR along with your asana.prp file. Two example configurations are shown: one for Windows and one for Linux/macOS.

Windows example shows the command and arguments to run the MCP server via java.exe, invoking the JAR with the asana.prp file.

Troubleshooting

If the MCP server isn’t visible in your client after starting it, fully quit and restart the client to refresh the MCP server list. If data cannot be retrieved, verify your connection string, ensure the .prp file is correct, and re-test the connection. If issues persist, contact support or consult community resources for guidance.

Tools and data access patterns

Available tools allow you to discover what the data source exposes and to run read-only queries. The common tools include get_tables, get_columns, and run_query, which you can invoke through the MCP client to explore the Asana data model and retrieve results in CSV format for easy consumption.

Notes on security and access

Keep your Asana credentials and data access credentials secure. Use the read-only MCP server to minimize data modification risk. When exposing the MCP server on your network, ensure only trusted clients can connect and consider network-level protections to prevent unauthorized access.

licensing

This MCP server is licensed under the MIT License. This allows you to use, modify, and distribute the software within the terms of the MIT license.

Available tools

asana_get_tables

Retrieves a CSV list of all tables available in the data source. The first line contains the column headers.

asana_get_columns

Retrieves a CSV list of columns for a specified table. The first line contains the column headers.

asana_run_query

Executes a SQL SELECT query against the exposed data source and returns results.