Skip to main content

Aipolabs MCP server, built on top of ACI.dev

Project description

aipolabs-mcp: MCP servers powered by ACI.dev

Overview

This package provides two Model Context Protocol (MCP) servers for accessing ACI.dev managed functions (tools):

  • aipolabs-mcp-apps: An MCP server that provides direct access to functions (tools) from specified apps
  • aipolabs-mcp-unified: An MCP server that provides two meta functions (tools) (ACI_SEARCH_FUNCTIONS_WITH_INTENT and ACI_EXECUTE_FUNCTION) to discover and execute ALL functions (tools) available on ACI.dev

Prerequisites

Before using this package, you need to (for more information please see tutorial):

  1. Set the AIPOLABS_ACI_API_KEY environment variable with your ACI.dev API key
  2. Configure apps and set them in allowed_apps for your agent on platform.aci.dev.
  3. Link your app specific accounts under the same --linked-account-owner-id you'll later provide to start the MCP servers

Installation

The package is published to PyPI, so you can run it directly using uvx:

# Install uv if you don't have it already
curl -sSf https://install.pypa.io/get-pip.py | python3 -
pip install uv

Usage

Apps Server

The apps server provides direct access to functions (tools) under specific apps. You can specify one or more apps to use with the --apps parameter. (For a list of available apps, please visit ACI.dev)

# Using stdio transport (default)
uvx aipolabs-mcp apps_server --apps "BRAVE_SEARCH, GMAIL" --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID>

# Using SSE transport with custom port
uvx aipolabs-mcp apps_server --apps "BRAVE_SEARCH, GMAIL" --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID> --transport sse --port 8000

Unified Server

The unified server provides two meta functions (tools) to discover and execute ANY functions (tools) available on ACI.dev, even if they aren't directly listed in the server.

The functions (tools) are dynamically searched and executed based on your intent/needs. You don't need to worry about having thousands of tools taking up your LLM's context window or having to integrate multiple MCP servers.

# During functions (tools) search/discovery, allow discoverability of all functions (tools) available on ACI.dev
uvx aipolabs-mcp unified_server --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID>

# During functions (tools) search/discovery, limit to only functions (tools) accessible by the requesting agent (identified by AIPOLABS_ACI_API_KEY)
uvx aipolabs-mcp unified_server --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID> --allowed-apps-only

Understanding the Two Server Types

Apps Server

The apps server provides direct access to specific app functions/tools you specify with the --apps parameter. These tools will appear directly in the tool list when MCP clients (e.g. Claude Desktop, Cursor, etc.) interact with this server.

Unified Server

The unified server doesn't directly expose app-specific tools. Instead, it provides two meta functions (tools):

  1. ACI_SEARCH_FUNCTIONS_WITH_INTENT: Discovers functions (tools) based on your intent/needs
  2. ACI_EXECUTE_FUNCTION: Executes ANY function (tool) discovered by the search

This approach allows MCP clients to dynamically discover and use ANY function available on ACI.dev platform without needing to list them all upfront. It can search for the right tool based on your needs and then execute it.

Configuration

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "aipolabs-mcp-unified": {
      "command": "uvx",
      "args": ["aipolabs-mcp", "unified_server", "--linked-account-owner-id", "<LINKED_ACCOUNT_OWNER_ID>"]
    }
  }
}

For apps-specific access:

{
  "mcpServers": {
    "aipolabs-mcp-apps": {
      "command": "uvx",
      "args": ["aipolabs-mcp", "apps_server", "--apps", "BRAVE_SEARCH,GMAIL", "--linked-account-owner-id", "<LINKED_ACCOUNT_OWNER_ID>"]
    }
  }
}

Usage with Cursor

Add to your Cursor mcp.json:

{
    "mcpServers": {
      "aipolabs-mcp-unified": {
        "command": "uvx",
        "args": ["aipolabs-mcp", "unified_server", "--linked-account-owner-id", "<LINKED_ACCOUNT_OWNER_ID>"],
        "env": {
            "AIPOLABS_ACI_API_KEY": "<AIPOLABS_ACI_API_KEY>"
        }
      }
    }
  }

For apps-specific access:

{
  "mcpServers": {
    "aipolabs-mcp-apps": {
        "command": "uvx",
        "args": ["aipolabs-mcp", "apps_server", "--apps", "BRAVE_SEARCH, GMAIL", "--linked-account-owner-id", "<LINKED_ACCOUNT_OWNER_ID>"],
        "env": {
            "AIPOLABS_ACI_API_KEY": "<AIPOLABS_ACI_API_KEY>"
        }
    }
  }
}

Debugging

You can use the MCP inspector to debug the server:

# For unified server
npx @modelcontextprotocol/inspector uvx aipolabs-mcp unified_server --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID>

# For apps server
npx @modelcontextprotocol/inspector uvx aipolabs-mcp apps_server --apps "BRAVE_SEARCH, GMAIL" --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID>

Running tail -n 20 -f ~/Library/Logs/Claude/mcp*.log will show the logs from the server and may help you debug any issues.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aipolabs_mcp-0.0.1b2.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aipolabs_mcp-0.0.1b2-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file aipolabs_mcp-0.0.1b2.tar.gz.

File metadata

  • Download URL: aipolabs_mcp-0.0.1b2.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.6

File hashes

Hashes for aipolabs_mcp-0.0.1b2.tar.gz
Algorithm Hash digest
SHA256 db7efb3625c8c11d6b68db14f3f92748b11553f7624cb85b8745be55ae7be9cb
MD5 f9c04f6e0812510f3b8a4a662d9b1ff3
BLAKE2b-256 a864129836c9f37acd10b3ef3e50d97f8e56ca8a40c5760c4c13c10775a13419

See more details on using hashes here.

File details

Details for the file aipolabs_mcp-0.0.1b2-py3-none-any.whl.

File metadata

File hashes

Hashes for aipolabs_mcp-0.0.1b2-py3-none-any.whl
Algorithm Hash digest
SHA256 a982aad295fe1412ed025dcbaae05a210f84c9c594cb165d5e951934bbbe82e0
MD5 efee2e700bcd116ddb40722c3ebcc35d
BLAKE2b-256 77f49dc745d4cc0d35cc0828cb676fe6752555788e965d14a713c77f229a7e34

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page