Metadata-Version: 2.4
Name: mseep-aci-mcp
Version: 1.0.1b4
Summary: ACI MCP server, built on top of ACI.dev by Aipolabs
Home-page: 
Author: mseep
Author-email: mseep <support@skydeck.ai>
Maintainer-email: mseep <support@skydeck.ai>
Keywords: aipolabs,mcp,aci,mcp server,llm,tool calling,function calling
Classifier: Typing :: Typed
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aci-sdk>=1.0.0b1
Requires-Dist: anthropic>=0.49.0
Requires-Dist: anyio>=4.9.0
Requires-Dist: click>=8.1.8
Requires-Dist: mcp>=1.6.0
Requires-Dist: starlette>=0.46.1
Requires-Dist: uvicorn>=0.34.0
Dynamic: author
Dynamic: license-file
Dynamic: requires-python

# MCP servers powered by [ACI.dev](https://aci.dev)

> [!IMPORTANT]
> This README only covers basic development guide. For full documentation and tutorials on ACI.dev MCP servers please visit [aci.dev docs](https://aci.dev/docs/mcp-servers/introduction).

## Table of Contents

- [Overview](#overview)
- [Run MCP Servers Locally](#run-mcp-servers-locally)
- [Integration with MCP Clients](#integration-with-mcp-clients)
- [Docker](#docker)
- [Debugging](#debugging)

## Overview

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

- `aci-mcp-apps`: An MCP server that provides direct access to functions (tools) from specified apps
   <img src="./assets/apps-mcp-server-diagram.svg" alt="Apps Server"/>
- `aci-mcp-unified`: An MCP server that provides two meta functions (tools) (`ACI_SEARCH_FUNCTIONS` and `ACI_EXECUTE_FUNCTION`) to discover and execute **ALL** functions (tools) available on [ACI.dev](https://platform.aci.dev)
   <img src="./assets/unified-mcp-server-diagram.svg" alt="Unified Server">

> [!IMPORTANT]
> For detailed explanation and tutorials on the two MCP servers please visit [aci.dev docs](https://aci.dev/docs/mcp-servers/introduction).


## Run MCP Servers Locally

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

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

```bash
$ uvx aci-mcp --help
Usage: aci-mcp [OPTIONS] COMMAND [ARGS]...

  Main entry point for the package.

Options:
  --help  Show this message and exit.

Commands:
  apps-server     Start the apps-specific MCP server to access tools...
  unified-server  Start the unified MCP server with unlimited tool access.
```

## Integration with MCP Clients

See the [Unified MCP Server](https://www.aci.dev/docs/mcp-servers/unified-server#integration-with-mcp-clients) and [Apps MCP Server](https://www.aci.dev/docs/mcp-servers/apps-server#integration-with-mcp-clients) sections for more information on how to configure the MCP servers with different MCP clients.


## Docker

```bash
# Build the image
docker build -t aci-mcp .

# Run the unified server
docker run --rm -i -e ACI_API_KEY=<ACI_API_KEY> aci-mcp unified-server --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID>

# Run the apps server
docker run --rm -i -e ACI_API_KEY=<ACI_API_KEY> aci-mcp apps-server --apps <APP1,APP2,...> --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID>
```

## Debugging

You can use the MCP inspector to debug the server:

```bash
# For unified server
npx @modelcontextprotocol/inspector uvx aci-mcp unified-server --linked-account-owner-id <LINKED_ACCOUNT_OWNER_ID>

# For apps server
npx @modelcontextprotocol/inspector uvx aci-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.
