Skip to content

Releases: arcmira/mcp

0.10.7

Choose a tag to compare

@zealous1 zealous1 released this 15 Oct 19:39
v0.10.7
5303c39

Records the current remote MCP release. The public manifest, MCP registry, and live server report 0.10.7. This release uses clear language for agents, describes plan credits and the on-demand budget, and defaults research examples to the last 90 days. No deployment or behavior change is included.

0.10.6

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
1e92292

The reference names on_demand_paused (402, no unlock): the included credits are used and on-demand usage is paused after a declined payment. An agent tells the user that an admin of the account must update the card at https://arcmira.com/dashboard/billing.

0.10.5

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
3471424

arcmira.status() documents account and role. The reference names member_limit and fair_use_cap (402, no unlock: ask an admin of the account) and tracker_create_retired. arcmira_execute_write no longer reaches POST under /v1/trackers.

0.10.4

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
33f0ca6

arcmira_execute_read is no longer marked destructive. A Premium read can start a transcription that uses credits, so the tool is still not read-only, but it only adds. arcmira_execute_write stays destructive.

0.10.3

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
6c6404b

The reference prices a Premium transcript at 300 credits per 15-minute quarter, and alerts use credits from your plan, then your on-demand budget.

0.10.2

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
7cd6e10

Paid reads use credits from your plan, then your on-demand budget. Each monitor alert uses 25 credits; creating a monitor is free.

0.10.0

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
20cb967

The client moves to the cleaned-up v1 API. A Premium read is one GET that buys within the account's budget and stops on a failed purchase. One wait deadline covers the whole program. Adding a name to a monitor creates and attaches the tracker in one call. Unknown option keys are rejected.

0.9.1

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
b94b62f

A Premium transcript is one read. arcmira.transcript(video, { quality: "premium" }) returns the lines; when the video is not transcribed yet, the same call buys it at its quote (included credits, then on-demand within the account's budget), waits up to 25 seconds and reads again. Still pending after that: run the same read again, which never buys twice. arcmira.prepare and arcmira.wait are gone and throw method_retired naming the read; prepare_transcript now points at it too. arcmira.quote still reads the price for free.

0.9.0

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
4cc51af

Four tools with the arcmira_ prefix, monitors from the agent, and one rule for money.

  • arcmira_describe (was describe) and arcmira_execute_read (was execute) are read-only. arcmira_execute_write runs the same client with the account writes added: arcmira.monitors.create, arcmira.monitors.update (including isPaused), arcmira.monitors.addEntities and arcmira.monitors.attachTrackers. It is not read-only and not destructive: nothing is deleted. arcmira_feedback takes category (wrong_entity, bad_data, missing, slow, confusing, other), note, request_id? and call_id?, and posts one experience row to POST /v1/feedback. Every tool takes intent.
  • prepare_transcript is gone. arcmira.prepare(video) runs inside arcmira_execute_read: it reads the quote and sends POST /v1/transcriptions with max_rows the quoted rows, max_on_demand_cents the quoted on-demand cents (0 when included credits cover it) and an Idempotency-Key, and returns the Job for arcmira.wait. A Premium read, preparation and the second read now fit in one program.
  • The account's on-demand budget is the approval. No surface asks the user for a cents amount any more. When a budget or plan blocks a purchase, the agent tells the user to raise the on-demand budget at https://arcmira.com/dashboard/spending or upgrade at https://arcmira.com/pricing, and links the refusal's unlock.url.
  • The sandbox outbound enforces an allowlist per tool in the Worker, for client methods and raw fetch() alike. Read: GET /v1/* and POST /v1/transcriptions. Write: the read set plus POST and PATCH under /v1/monitors and /v1/trackers, never DELETE or the webhook secret rotation. A write method called from the read tool throws write_tool_required before any request.
  • Reads gain arcmira.monitors.list(), arcmira.monitors.trackers(id) and arcmira.integrations.slack() (the connected workspaces, each with its default channel). Writes also gain arcmira.monitors.attachTrackers(id, trackerIds), which moves a tracker another monitor holds. An addEntities result that did not attach carries reason (entity_not_found, entity_type_not_trackable, tracker_limit_reached, or tracked_in_another_monitor with current_monitor_id), and a merged id carries canonical_entity_id. arcmira.status() with no argument reports the key, plan, credits and on-demand budget.
  • A result that is empty, an error, truncated or a resolve ask ends with one feedback line naming its call_id.
  • describe, execute and prepare_transcript answer tool_retired naming the replacement, like the 0.6.0 names.
  • company-watch is now the monitor setup skill: it resolves the entities and every spelling of a topic, lists the user's monitors before suggesting one, asks how updates should arrive one question at a time with a default (email or Slack; as it happens, hourly or daily), delivers to a connected Slack workspace or links the connection page and uses email until then, and explains every id that did not attach, asking before it moves a tracker from another monitor. Every skill ends by offering to save what it found to a monitor and with the feedback line.
  • company-watch answers what was said about a company before it offers the monitor, so "what is being said about Linear" still loads it. With no window from the user, every skill and the server instructions use the last 30 days.
  • The protected-resource metadata lists monitors:write and trackers:write, so Claude, ChatGPT and Claude Code ask for them at sign-in. A connection made before 0.9.0 holds read scopes only: reconnect Arcmira to allow monitor changes.
  • Every options object is checked against the method's signature: an unknown key such as publishedAfter throws invalid_request naming the signature instead of silently dropping a date window. arcmira.resolve also takes { name, context }, and a multi-word name with no context that finds nothing says to move the description into context.
  • Tool definitions plus instructions grow from 2,193 to 2,750 tokens. Skills A/B against 0.8.2 (36 runs each, Sonnet and Haiku): 35/36 correct against 32/36, monitor setup on a read-only key 4/4 against 2/4.

0.8.2

Choose a tag to compare

@zealous1 zealous1 released this 12 Oct 20:52
d5d9372

Each tool call is logged to Arcmira's product analytics with the account that made it: the tool, the host, the input (the execute program up to 4,000 characters, the describe topic, the prepare_transcript arguments), the outcome without the result body, the API routes the call made, and the latency. The API redacts credentials and email addresses before storing it. The README's What we log section has the whole list.

  • Every tool takes an optional intent string (at most 300 characters), the user's request in a few words. It is logged with the call and never sent to v1. Hosts that omit it see no change.
  • Each upstream v1 request a call makes carries x-arcmira-mcp-call (the call's id) and x-arcmira-mcp-tool, so the API's request events join the call. Sandbox requests now also carry the host's handshake name as x-arcmira-client.
  • _meta["arcmira.com/execution"] gains routes: METHOD /v1/path for each API call the program started.
  • The record is posted after the result is built, inside waitUntil. A failed, slow or refused post is dropped and never changes or delays a result.