Skip to main content

Python SDK for CircuitNotion MCP Server

Project description

CircuitNotion MCP SDK

Python SDK for the CircuitNotion MCP server.

Installation

pip install cn-mcp

For local development against a local MCP server:

export MCP_API_KEY="your-api-key"
export MCP_BASE_URL="http://localhost:8000"

Quick Start (agent_call)

from cn_mcp import MCPClient

mcp = MCPClient(api_key="your-api-key")

session = mcp.agent_call("session_create")
session_id = session["session_id"]

try:
    run = mcp.agent_call(
        "terminal_exec",
        session_id=session_id,
        cmd="echo hello",
        timeout_minutes=60,
    )
    print(run["stdout"])

    zipped = mcp.agent_call("file_zip_session", session_id=session_id)
    print(zipped["download_url"])
finally:
    mcp.agent_call("session_dispose", session_id=session_id)
    mcp.close()

For one-off workspace operations, the server can create the session for you:

run = mcp.agent_call(
    "terminal_exec",
    {"cmd": "python --version", "timeout_minutes": 2},
    auto_create_session=True,
)

Tool-Call Examples

Files

import base64

payload = base64.b64encode(b"hello").decode("utf-8")
written = mcp.agent_call(
    "file_write",
    session_id=session_id,
    path="reports/out.txt",
    content_base64=payload,
)
files = mcp.agent_call("file_list", session_id=session_id)
mcp.agent_call("file_delete", file_id=written["file_id"])

file_list also discovers normal files created by terminal commands and returns direct links for them.

Return download_url directly to users. It is a plain browser/download link and remains usable after session cleanup.

Devices

devices = mcp.agent_call("device_list")
result = mcp.agent_call("device_set_state", device_name="living room light", state="off")

Search

results = mcp.agent_call("web_search", query="CircuitNotion")
print(results.get("organic_results", []))

Scheduler

task = mcp.agent_call("time_schedule", payload={"message": "follow up"}, in_seconds=300)
tasks = mcp.agent_call("time_scheduled_tasks")
mcp.agent_call("time_cancel", task_id=task["task_id"])

Database

rows = mcp.agent_call(
    "db_query",
    session_id=session_id,
    sql="SELECT name FROM sqlite_master WHERE type = ?",
    params=["table"],
)

mcp.agent_call(
    "db_execute",
    session_id=session_id,
    sql="INSERT INTO notes (body) VALUES (?)",
    params=["hello"],
)

Timeout Note

The SDK defaults to an agent-friendly HTTP timeout and automatically extends timeout behavior for long-running tools such as terminal_exec.

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

cn_mcp-0.3.8.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

cn_mcp-0.3.8-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file cn_mcp-0.3.8.tar.gz.

File metadata

  • Download URL: cn_mcp-0.3.8.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cn_mcp-0.3.8.tar.gz
Algorithm Hash digest
SHA256 5f71f0bfd86419fe94ffb188975086d8d64f2d616385f501eef907fa5ad79c05
MD5 7edf4bc473c1fc5361c190ec91861ce8
BLAKE2b-256 8a2ba7bee83fa287e2bc3930b49fb3d45f5705716432641864ab0a5264783874

See more details on using hashes here.

Provenance

The following attestation bundles were made for cn_mcp-0.3.8.tar.gz:

Publisher: pypi-publish.yml on ntirushwajeanmarc/cn-mcp-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cn_mcp-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: cn_mcp-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cn_mcp-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 391dda0c4755cd699d63618afa410964b01ece90bffdbdce46b07462fb324678
MD5 6c2e65721fb873e42ec8b1e2e2953ce7
BLAKE2b-256 d66aafe24b376d8f3247d35f91ddad1dde19b54f7692253b95ce082bdec3ab85

See more details on using hashes here.

Provenance

The following attestation bundles were made for cn_mcp-0.3.8-py3-none-any.whl:

Publisher: pypi-publish.yml on ntirushwajeanmarc/cn-mcp-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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