Fulcra Context MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FULCRA_ENVIRONMENT | No | Set to 'stdio' to run as a local MCP server using stdio transport; otherwise acts as remote server. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_workoutsA | Get details about the workouts that the user has done during a period of time. Result timestamps will include time zones. Always translate timestamps to the user's local time zone when this is known. Args: start_time: The starting time of the period. Must include tz (ISO8601). end_time: the ending time of the period. Must include tz (ISO8601). |
| get_metrics_catalogA | Get the catalog of available metrics that can be used in time-series API calls
( |
| get_metric_time_seriesA | Get user's time-series data for a single Fulcra metric. Covers the time starting at start_time (inclusive) until end_time (exclusive). Result timestamps will include tz. Always translate timestamps to the user's local tz when this is known. Args:
metric_name: The name of the time-series metric to retrieve. Use |
| get_metric_samplesA | Retrieve the raw samples related to a given metric for the user during a specified period. In cases where samples cover ranges and not points in time, a sample will be returned if any part of its range intersects with the requested range. For example, if start_time is 14:00 and end_time is 15:00, a sample covering 13:30-14:30 will be included. Result timestamps will include time zones. Always translate timestamps to the user's local time zone when this is known. Args:
metric_name: The name of the metric to retrieve samples for. Use |
| get_sleep_cyclesA | Return sleep cycles summarized from sleep stages. Processes raw sleep data samples into sleep cycles by finding gaps in the sleep sample data within a specified time interval. Result timestamps will include time zones. Always translate timestamps to the user's local time zone when this is known. Args: start_time: The starting timestamp (inclusive), as an ISO 8601 string or datetime object. end_time: The ending timestamp (exclusive), as an ISO 8601 string or datetime object. cycle_gap: Optional. Minimum time interval separating distinct cycles (e.g., "PT2H" for 2 hours). Defaults to server-side default if not provided. stages: Optional. Sleep stages to include. Defaults to all stages if not provided. gap_stages: Optional. Sleep stages to consider as gaps in sleep cycles. Defaults to server-side default if not provided. clip_to_range: Optional. Whether to clip the data to the requested date range. Defaults to True. Returns: A JSON string representing a pandas DataFrame containing the sleep cycle data. |
| get_location_at_timeA | Gets the user's location at the given time. If no sample is available for the exact time, searches for the closest one up to window_size seconds back. Result timestamps will include time zones. Always translate timestamps to the user's local time zone when this is known. Args: time: The point in time to get the user's location for. Must include tz (ISO8601). window_size: Optional. The size (in seconds) to look back (and optionally forward) for samples. Defaults to 14400. include_after: Optional. When true, a sample that occurs after the requested time may be returned if it is the closest one. Defaults to False. Returns: A JSON string representing the location data. |
| get_location_time_seriesA | Retrieve a time series of locations that the user was at. Result timestamps will include time zones. Always translate timestamps to the user's local tz when this is known. Args: start_time: The start of the time range (inclusive), as an ISO 8601 string or datetime object. end_time: The end of the range (exclusive), as an ISO 8601 string or datetime object. change_meters: Optional. When specified, subsequent samples that are fewer than this many meters away will not be included. sample_rate: Optional. The length (in seconds) of each sample. Default is 900. reverse_geocode: Optional. When true, Fulcra will attempt to reverse geocode the locations and include the details in the results. Default is False. Returns: A JSON string representing a list of location data points. |
| get_user_infoB | Return general info about the Context by Fulcra user. Returns user references such as time zone, calendar ids, and other metadata. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Every tool has a clearly distinct purpose targeting specific data types or operations: location retrieval (get_location_at_time, get_location_time_series), metric data (get_metric_samples, get_metric_time_series), metadata (get_metrics_catalog, get_user_info), and specialized analyses (get_sleep_cycles, get_workouts). There is no functional overlap between tools, making selection unambiguous.
All eight tools follow a consistent 'get_*' verb_noun pattern with snake_case throughout. The naming convention is perfectly uniform, making the tool set predictable and easy to understand at a glance.
With 8 tools, this server is well-scoped for its purpose of retrieving user context data (location, metrics, sleep, workouts, and metadata). Each tool serves a distinct and necessary function without redundancy, making the count ideal for the domain.
The tool set provides comprehensive read-only coverage for retrieving user context data across multiple domains (location, metrics, sleep, workouts, and user info). A minor gap exists in the lack of update or delete operations, but this is reasonable for a context retrieval server focused on data access rather than modification.