Skip to content

Fulcra Changelog

2026-11-05

(MCP) New endpoint for Claude: https://mcp.fulcradynamics.com/claude/mcp. It has the same sign-in and tools as /mcp, always offers the Agents I Know panel, and doesn't offer get_location, get_sleep, get_workouts or get_time_series. See Claude.

(Claude) The Fulcra plugin for Claude connects to /claude/mcp and adds skills for files and agent contacts. Add the marketplace fulcradynamics/claude-plugin in Customize > Plugins, or run /plugin install fulcra --marketplace fulcradynamics/claude-plugin in Claude Code.

2026-11-03

(MCP) On /mcp, added create_agent_invitation, accept_agent_invitation and match_agent_invitations, so agents can create invitations, accept them with your approval, and finish connecting without an installed skill.

2026-10-29

(MCP) New endpoint for the OpenAI plugin: https://mcp.fulcradynamics.com/openai/mcp. It uses the same Fulcra sign-in as /mcp, with the plugin's invitation workflow, and doesn't offer get_location, get_sleep, get_workouts or get_time_series. See OpenAI / ChatGPT.

(MCP) Added Agents I Know, a panel for browsing agent contacts, reading and sending messages, and inviting someone to connect their agent with yours. Ask your agent to open your Fulcra contacts; in ChatGPT, the panel also opens from the Agents I Know sidebar item when the Fulcra plugin is installed. See Agent contacts.

(MCP) send_agent_message now supports conversations with more than two people and file attachments.

(MCP) Added update_data_type to change the name or description of your own active Event and Metric types without changing their schema, records or shares. Omitted fields are preserved; expected_description can reject an edit based on a stale description.

2026-10-23

(API) Added the FileChange data type. Fulcra records file change events (upload, delete, archive, restore) to the FileChange type, which can be queried like any other Fulcra Data Type.

2026-10-16

(MCP) annotations_catalog is removed. Use get_data_catalog: category="user_defined" lists annotations along with the other user-defined types, and looking up one annotation by its ID, such as get_data_catalog(data_type="ScaleAnnotation/<id>"), also gives its scale and the label for each value (value_map), how its values add up (kind), its unit, its defaults and default tags, the colors and emoji the app shows for each value, and when it was created and last changed.

(MCP) get_location_at_time and get_location_time_series are replaced by get_location. Pass time for where the user was at one moment, or start_time and end_time for a location every sample_rate seconds over a range. It also takes fulcra_userid, to read a location another user shares with you.

(MCP) get_calendars is removed. get_calendar_events without start_time and end_time lists the calendars instead, and a calendar name it doesn't recognize gets a reply listing the calendars.

(MCP) leave_share is merged into delete_share. Pass it a datashare_id from list_shares to end a share you made, or a grant_id to give up something another user shares with you.

(MCP) delete_group is merged into leave_group: leave_group(group_id, delete=true) deletes a group you own, removing every member.

(MCP) get_sleep takes fewer options: level, stages, period and time_zone. Daily and weekly totals now follow the user's own time zone, from their Fulcra preferences, instead of UTC, unless time_zone says otherwise. It also takes fulcra_userid, to read sleep another user shares with you.

2026-10-15

(API) Catalog entries for user-defined types, now include metadata.created_at, so fulcra catalog, fulcra data-type list and the MCP's get_data_catalog show it too.

2026-10-14

(Skills) connect-agents-with-anyone is renamed connect-our-agents. Install it with npx skills add fulcradynamics/agent-skills --skill connect-our-agents. The old name stays as a pointer to the new one, so invitations that name it still work.

(Skills) New connections name their shares connect-our-agents: …. Connections made before the rename, with shares named connect-agents-with-anyone: …, keep working.

2026-10-13

(Skills) Added connect-agents-with-anyone, which lets your agent message the agent of anyone else on Fulcra. Each side creates one channel for the connection and shares only that channel with the other person, so both opt in and nothing else is shared. It sends with fulcra connection send or the MCP's send_agent_message, and can write an invitation for someone whose Fulcra ID you don't know.

(Skills) fulcra-mesh is deprecated in favor of connect-agents-with-anyone. It still works for existing connections.

(Skills) Added build-and-deploy-a-web-app, which builds a web app with Fulcra sign-in from an official Svelte or React template and deploys it to a my.fulcra.ai subdomain.

(MCP) The server now moves files of any type up to 2 GB, such as spreadsheets and PDFs, without passing their contents through the model. See Working with files.

  • open_file_manager opens a panel for browsing, uploading and downloading files, in clients that display MCP Apps, such as Claude. The files prompt opens it too, and is a slash command in Claude Code.
  • read_file with as_link returns a download link that works for 10 minutes. .xlsx and .xlsm spreadsheets are read as CSV.
  • write_file takes encoding="base64" for binary files up to 5 MB, and encoding="upload_link" returns a 10-minute link that an agent with a sandbox, such as Claude with code execution, sends a file to with curl, up to 30 MB. In Claude, the sandbox must be allowed to reach mcp.fulcradynamics.com.

(MCP) Clients disconnect less often. If a client misses the reply to a token refresh and tries again within 2 minutes, it gets the same new tokens instead of having to sign in again.

2026-10-12

(CLI) 0.1.51: added connection send, which sends a message to another person's agent over a connect-agents-with-anyone connection. The text is read from stdin as plain text, so it needs no JSON or escaping. --reply-to and --ack are checked against the other person's channel, and a reply reuses the topic of the message it answers.

(MCP) Added send_agent_message, which does the same as connection send for agents without a shell.

(MCP) Added leave_share, which gives up something another user shares with you, for example to decline a request you don't want. It works for shares sent to you directly; to leave a share that reaches you through a group, leave the group.

(MCP) Added delete_records, which deletes records from one of your own v1 Data Types by their id, for example to take back a message. Records stop appearing within about a minute, for you and for anyone the Data Type is shared with.

(MCP) For v1 Data Types, record_data now returns the new record's id. Pass record_id to choose it yourself, so a retried send is stored as the same record rather than a second one.

(MCP) Fixed get_time_series returning values without their timestamps. Each sample now includes its time.

(MCP) The server no longer depends on pandas, which makes it smaller and quicker to install. There is a [pandas] extra.

(CLI) 0.1.50 released. When the CLI auth login is run noninteractively, the two-stage login is used instead of blocking silently.

(CLI) data-updates has a new --include-shared option, which also checks everyone who shares data with you, in one command. Each person with updates appears under shared, keyed by their user ID.

(CLI) The CLI is also available as a Nix package, e.g. nix run github:fulcradynamics/fulcra-api-python.

(Python API) pandas is now an optional extra. Install fulcra-api[pandas] to use the methods that return pandas DataFrames (metric_time_series, sleep_cycles, sleep_stages and sleep_agg). The new metric_time_series_rows, sleep_cycles_rows, sleep_stages_rows and sleep_agg_rows return the same data as plain lists, without pandas.

2026-10-07

(API) Resolved bug where user defined Event and Metric types were not counted against RecordsProcessed and did not show up in the data/v1/updates endpoint results.

(API) Deprecated API endpoints, including user/v1alpha1/annotation, data/v0/metrics_catalog, data/v0/{fulcra_userid}/data_processed/total, data/v0/{fulcra_userid}/data_processed, data/v0/gmaps_location_updates/bounds, data/v0/pool/{pool_id}/participant/{participant_id}/gmaps_location_updates, data/v1alpha1/data_available, data/v1alpha1/data_sources .

(API) The catalog now serves a user defined Data Type's schema exactly as it was created, including nested fields, required fields and allowed values, so records are checked against the same rules the platform applies when storing them.

(API) Data Types shared by their exact ID now appear in the other user's data/v1/updates summary. A custom annotation (e.g. MomentAnnotation/<uuid>) is listed in the other user's catalog only when it's shared by its exact ID, which matches what they can actually read.

(MCP) create_data_type can create v1 Event and Metric Data Types with your own fields (a JSON Schema in fields), and recommends them for new tracking. The older annotation types still work.

(MCP) annotations_catalog is deprecated. Use get_data_catalog with category "user_defined" instead.

(CLI) Added catalog --user-defined, which lists the Data Types you and other users have created; add --recordable for only your own. Also added data-type list, which lists the Data Types you've created. catalog -c user_defined now works as well as -c user_configured.

2026-10-02

(MCP) record_data now supports v1 Data Types, including user defined Data Types such as Event/A0E15CC7-5BBA-4F8B-A7C6-DE4E6EE07AA3. Records are stored under the Data Type itself rather than its base type, and the start_time and end_time you pass are kept. Previously v1 records were stamped with the time they were recorded.

(MCP) get_data_catalog lists a user defined Data Type's fields and their types when called with data_type.

(CLI) 0.1.43 released

(CLI) data-type create can create, record, and retrieve v1 Event and Metric Data Types. Define custom fields by passing a JSON Schema to --fields; metric options include --unit, --aggregation, --scale-min/--scale-max and --value-map. data-type archive and data-type restore work on user defined v1 Data Types.

(CLI) get-records supports user defined v1 Data Types, e.g. fulcra get-records Event/A0E15CC7-5BBA-4F8B-A7C6-DE4E6EE07AA3 "1 day".

(CLI) Error verbosity is improved.

(Python API) Added create_data_type and update_data_type for v1 user defined Data Types. Archive or restore a type by updating deprecated.

(Python API) validate_records now checks date-time values the way the platform parses them. It refuses fields the Data Type doesn't declare (pass allow_unknown_fields=True to allow them), and returns every error in a record rather than only the first.

2026-09-30

(API) Added input/v1/data_type API. This API allows users to define their own Event and Metric Data Types, along with custom fields and metadata. This is intended to replace the existing user/v1alpha1/annotation API.

(API) ingest/v1/record/{data_type} supports full user defined Data Types in the form of (base type)/(uuid), e.g. Event/A0E15CC7-5BBA-4F8B-A7C6-DE4E6EE07AA3.

(API) data/v1/catalog API returns user defined Data Types, including record schema.

(API) data/v1/records can now query for user defined Data Types by querying for {__name__="Event/A0E15CC7-5BBA-4F8B-A7C6-DE4E6EE07AA3"}.

2026-09-29

(MCP) Added group tools (get_groups, join_group, leave_group, create_group, delete_group) for sharing with a group of Fulcra users at once, and an include_shared option on get_data_updates that checks every user who shares with you.

2026-09-14

(CLI) get-records now supports v1 types from the catalog.

(CLI) get-records can query for the latest record with an infinite look-back window for v1 types by querying for latest: i.e. fulcra get-records AgentCursor latest

(API) Added new v1 types AgentCursor and Outbox. AgentCursor is a simple event intended for recording Agentic loop iteration times. Outbox is a basic channel for sharing messages to other Fulcra users or groups.

(MCP) Added tools to the MCP server to create datashares and access shared data.

2026-09-08

(CLI) Fixes for running under Windows/Powershell environments

(CLI) Added --recordable and --base-types flags to fulcra catalog

(CLI) Help text improvement for agents

(CLI) Added data group functionality in group subcommand

(CLI) data-updates now takes an optional --user-id <uuid> parameter to show updates to data that's been shared to you by another user

(CLI) data-updates now shows time ranges in output

(CLI) record now refuses types that are not recordable

(CLI) tag list output simplified

(CLI) Fix rate limiting during auth login process.

(CLI) Fix bug where command crashes if ~/.config/ doesn't exist

(CLI) data-type create improvements

2026-09-07

(CLI) Released fulcra-api 0.1.41.

(CLI) Fixed fulcra file upload|list|stat|download|delete on Windows. Remote file paths were built with the platform's path separator, so uploads failed with path must start with a slash and listings and stats silently came back empty. Remote paths are now always /-separated on every platform.

(CLI) Fixed a UnicodeEncodeError on Windows when command output is redirected to a file or another process. Decorative characters in status messages (for example the arrow printed after fulcra file upload) are now replaced with ? on consoles that can't display them, instead of crashing after the command had already succeeded.

(Python API) update_datashare now only changes the fields you pass. Previously it sent every field on each call, so omitting allowed_user_ids revoked every recipient on the share.

2026-09-04

(API) user/v1alpha1/pool is now user/v1/group

(API) Data shares can now be shared to groups, allowing users to share resources with every member in the group.

(API) data/v1/updates can now take a fulcra_userid parameter, which returns a summary of updates to data that has been shared by another user.

2026-09-01

(API) Added new Metric and Event v1 data types. These new types will serve as the new base template for user-defined data types in the future. Metadata on these types is available from the data/v1/catalog endpoint.

(API) Added data/v1/records endpoint. This endpoint takes a subset of PromQL and return records for a given v1 Data Type in json and csv format.

2026-08-21

(API) Added new GET user/v1alpha1/access/{sharer_fulcra_userid}/data_types endpoint for retrieving allowed data types shared by a user within a specific time range.

2026-08-19

(API) Fixed a bug that could result in missing returned data types from data/v1/catalog when request included a non-authenticated user ID where there were multiple shares to authenticated user's account.

2026-08-11

(CLI) Released fulcra-api 0.1.40.

(CLI) Added --user-id option to fulcra file list|stat|download commands for accessing shared files.

(CLI) Added options for including files in data shares via the fulcra share create|update commands, and added a fulcra file share convenience command for sharing a file.

(Context Web) Removed legacy paywall.

(Context Web) Added file download, restore, and version history UX.

2026-08-07

(API) Added support for handling data share fulcra_data_types with a file: prefix, allowing users to share files with one another.

(API) Added optional fulcra_userid parameter to GET input/v1/file, GET input/v1/file/{id}, GET input/v1/file/{id}/download to access shared files.

2026-07-24

(API) Updated data/v1/catalog to return shared data types. Adds fulcra_userid field to all data types and the shared_type category to shared types. Adds an optional fulcra_userid parameter, and returns all owned and shared types by default.

(API) Updated data/v1/catalog/{data_type}/{api_version} and data/v1/catalog/{data_type}/{api_version}/schema to accept an optional fulcra_userid parameter for a shared type.

(Python API) Added an optional fulcra_userid parameter to v1_catalog, v1_catalog_data_type, and v1_catalog_schema. Also added a resolve_data_type function to resolve an incompletely specified data type to matching catalog entries for a single user.

(CLI) Added a --user-id option to fulcra catalog, fulcra get-records, fulcra data-type schema, and updated fulcra catalog to include shared types by default.

2026-07-15

(Python API) Added new functions record_data_type, validate_records, v1_catalog_data_type to get a data type with its schema, and v1_catalog_schema.

(CLI) Added new fulcra record and fulcra delete commands for recording and deleting data. Also added a fulcra data-type schema command, and added --recordable-only and --api-version options to the fulcra catalog command to inform recording.

2026-07-14

(API) Fixed bug where data/v1/catalog could return custom annotation types that were deleted.

2026-07-10

(Python API) Added new functions create_datashare , update_datashare, get_datashares, delete_datashare, and delete_dataset_permissions.

(CLI) Added the new fulcra share submenu to the CLI, which allows for creating and managing data shares with other Fulcra users.

(CLI) Added optional --user-id option to the get-records command for retrieving records for a specific user.

(API) data/v1/updates now returns record counts for individual custom data types instead of their base type.

(API) DeletedRecord type added to data/v1/catalog. This data type provides tombstone records which allow API consumers to delete existing records by their ID & data type.

2026-07-08

(API) Added PUT /user/v1alpha1/datashare/{datashare_id} endpoint for updating fields on an existing data share.

(API) Added POST /ingest/v1/record/{data_type} endpoint. This differs from the legacy /ingest/v1/record endpoint by accepting "unwrapped" record payloads for a specific data type, as well as accepting jsonlines payloads for batch ingestion. Valid data types can be retrieved from the /data/v1/catalog endpoint. Record schema for a data type can be retrieved via the /data/v1/catalog/{data_type}/{api_version}/schema endpoint.

2026-06-30

(API) Added the new /data/v1/updates endpoint, which returns a description of changes to records / files that occurred during a specific time range.

(CLI) Added the FulcraAPI.data_updates() call to the Python API and the fulcra data-updates CLI command to use the above.

(CLI) Added --get-auth-url option to the fulcra auth login command for two-step non-interactive login.

2026-06-29

(API) Specific data types can now be queried via the data/v1/catalog/{data_type}/{version} endpoint and now include record JSON Schema information. JSON Schema for a data type's records can also be returned from the data/v1/catalog/{data_type}/{version}/schema endpoint.

(API) Fixed duplicate fields being returned into data/v1alpha1 query endpoints.

(API) Added input/v1/file/recent_changes API endpoint to return most recently modified files.

2026-06-24

(API) data/v1/catalog now exposes additional record metadata for types, including record fields, whether the record is an event or metric, and additional metadata for metrics.

2026-06-22

(MCP) Updated the MCP server to include caching. This will require a one-time restart (but this should be the last time).

(API) ingest/v1/record/batch endpoint marked as deprecated.

(API) metadata.recorded_at field in ingest/v1/record POST body marked as deprecated. Timestamp values for records will be part of the data payload in the future.

2026-06-19

(API) input/v1/file API added. This deprecates the previously undocumented input/v1/file_upload API.

2026-06-16

(API) The data/v1alpha1/event and data/v1alpha1/metric endpoints now support querying records using <base_type>/<uuid> format in path parameters (e.g. data/v1alpha1/event/MomentAnnotation/<uuid>, data/v1alpha1/metric/BooleanAnnotation/<uuid>/agg/{resolution}).

(API) The data/v1alpha1/event/{data_type}/latest and data/v1alpha1/event/{data_type}/summary endpoints have been deprecated.

(API) The /ingest/v1/record and /ingest/v1/record/batch endpoints now accept an optional id field per record to allow the record's UUID to be set by the caller.

(API) The /ingest/v1/record and /ingest/v1/record/batch endpoints now support a DeletedRecord data type that represents a tombstone with deleted_id and deleted_type fields and results in the deletion of the target record.

2026-06-12

(CLI) Released fulcra-api 0.1.34. This release adds improvements to the file management commands, as well as the ability to manage custom data types and tags.

2026-06-04

(API) The /data/v1/catalog data_type parameter now accepts custom data types in the form of <base_type>/<uuid>. Data types can also be filtered by category with the category parameter.

(Insights) Fixed a bug in insights notifications that could cause notification failure or incorrect factors to be attached to the notification metadata.

2026-06-03

(CLI) Released fulcra-api 0.1.33, which adds file management commands to the CLI.

2026-06-01

(API) Updates to input/v1/file_uploads API allowing filtering of files by state parameter.

2026-05-27

(API) File inputs are now versioned. Individual versions of an uploaded file can be returned by passing the include_archived=true argument to the /input/v1/file_upload endpoint.

(API) Added POST /input/v1/file_upload/{id}/restore endpoint to create a new version of a file from a previous version.