The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Ainecto listing page.
Ainecto MCP connector and first-party CLI.
This package exposes two entry points:
npx -y @ainecto/mcp or ainecto mcp: raw stdio-to-HTTP JSON-RPC proxy for Ainecto MCP.ainecto <command>: human CLI for auth and low-level tool calls.Phase 1 keeps the connector as a raw proxy. File, stdin, and inline JSON parsing are only available in first-party CLI commands.
Endpoint resolution priority:
--endpoint <url>AINECTO_MCP_ENDPOINT--env devhttps://ainecto.com/mcpEndpoint URLs must use https:. Plain http: is accepted only for localhost loopback targets such as 127.0.0.1. When AINECTO_TOKEN is set, the CLI only sends it to the default prod/dev endpoints unless AINECTO_ALLOW_CUSTOM_ENDPOINT_TOKEN=1 is set for an explicitly trusted custom endpoint.
The connector proxies initialize, tools/list, and tools/call to the resolved /mcp endpoint. It does not rewrite remote schemas or interpret local file references.
Use the direct package configuration until the server is published to the official MCP Registry.
For a non-production endpoint, pass CLI flags through the package args:
The planned official Registry server name is io.github.codelives/ainecto, backed by the public npm package @ainecto/mcp. Registry publication requires the npm package version referenced by server.json to include a matching mcpName field in package.json.
sync:tools --check is intended for publish-time live drift checks. It fails fast when AINECTO_CATALOG_SYNC_TOKEN is missing, so automatic publish cannot silently fall back to fixtures.
For local development, sync:tools can also use credentials from ainecto auth login --env <env>.
The checked-in generated catalogs are deterministic output from tools/list. The prod and dev catalogs are live-synced snapshots from https://ainecto.com/mcp and https://dev.ainecto.com/mcp. Presentation metadata lives separately in src/core/catalog/enrichments.ts.
ainecto tools catalog prints the local generated catalog. Rerun authenticated sync:tools when prod or dev tools/list changes.
Every checked-in generated catalog tool is reachable through its deterministic command path. Scalar schema fields are exposed as flags, with both kebab-case and schema-case accepted:
Array or object payloads use the existing first-party CLI JSON payload reader:
Destructive generated commands prompt in human mode unless --yes is supplied. In --json mode they fail with a structured error unless --yes is present.
Attachment file upload is available through a bespoke command that performs the upload-token, raw PUT, and attachment registration flow:
The generated request_upload_token and upload_attachments paths remain raw MCP argument-contract commands and do not read local files.
This requires an authenticated dev token from ainecto auth login --env dev or a local developer AINECTO_TOKEN.
The smoke initializes MCP, reads tools/list, calls mcp__ainecto__list_projects, and prints only aggregate metadata such as tool count and Task tool exposure.
This exercises the full attachments upload flow against a local ainecto-api dev server:
OAuth MCP token issue, REST fixture document creation, CLI upload, list_attachments, and server filesystem byte verification.
The smoke creates a temporary user/workspace/project/document and removes the fixture account, local temp file, and stored upload file unless --keep is supplied.
MCP-Session-Id session handling are not implemented in Phase 1.Official MCP Registry publish is pending GitHub namespace owner authentication with mcp-publisher and metadata submission.