Context by Fulcra
PYPI · FULCRA-CONTEXT-MCP · 2 COMPONENTS · SCANNED SEP 21
Connect your Fulcra Context personal datastore: access your metrics, events, agent data and more
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security95
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects pytest 7.4.4, reached via fulcra-api > pytest. A fixed version is available. View diagnostics → Fail
- Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 6 of 65 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 3 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3514 tokens (~140/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 26 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the Context by Fulcra MCP server?
Context by Fulcra runs locally as a PyPI package, launched with uvx fulcra-context-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · fulcra-context-mcp
claude mcp add com-fulcradynamics-context -- uvx fulcra-context-mcp
{
"mcpServers": {
"com-fulcradynamics-context": {
"command": "uvx",
"args": [
"fulcra-context-mcp"
]
}
}
} {
"servers": {
"com-fulcradynamics-context": {
"command": "uvx",
"args": [
"fulcra-context-mcp"
]
}
}
} codex mcp add com-fulcradynamics-context -- uvx fulcra-context-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-fulcradynamics-context": {
"type": "local",
"command": [
"uvx",
"fulcra-context-mcp"
],
"enabled": true
}
}
} openclaw mcp add com-fulcradynamics-context --command uvx --arg fulcra-context-mcp
mcp_servers:
com-fulcradynamics-context:
command: "uvx"
args: ["fulcra-context-mcp"] {
"McpServers": {
"com-fulcradynamics-context": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"fulcra-context-mcp"
]
}
}
} assistant mcp add com-fulcradynamics-context -t stdio -c uvx -a fulcra-context-mcp
{
"mcpServers": {
"com-fulcradynamics-context": {
"command": "uvx",
"args": [
"fulcra-context-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Sept 26 +31
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Schema quality: fail functional
- First check of Destructive annotations: 100 functional
- First check of Tool coverage: 100 functional
- First check of Tool coverage: 100 functional
- 17 Sept 26 35
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed pypi/fulcra-context-mcp@0.3.3
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Background: Why install scripts are a supply-chain risk →
Vulnerabilities 2 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-6w46-j5rx-g56g | CVE-2025-71176 | medium | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L | yes |
| PYSEC-2026-1845 | CVE-2025-71176 | medium | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 65 packages
| Packages resolved | 65 |
|---|---|
| Stale | 3 |
| No linked repository | 3 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
annotations_catalog List Annotation Data Types ~60
Get the list of all annotation data types the user has defined. This does not get the actual values the user has recorded; for that, use the `get_records` tool. Use this tool to get the IDs and types to pass to `get_records`.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
archive_data_type Archive Data Type ~78
Archive (soft-delete) a user-defined data type. The type and its recorded data are recoverable with restore_data_type. Only user-defined types (created via create_data_type or the Context app) can be archived.
| Name | Type | Req | Description |
|---|---|---|---|
| data_type | string | yes | The "<BaseType>/<uuid>" ID from get_data_catalog, or the bare UUID. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
create_data_type Create Data Type ~249
Create a user-defined data type so the user can track something new. Choose base_type by what gets recorded: "moment" (a point in time), "duration" (a time range), "boolean" (yes/no), "numeric" (a number, optionally with a unit), or "scale" (a 1-5 rating with labels). The new type appears in get_data_catalog, and recorded values are readable with get_records. Creation is reversible with archive_data_type.
| Name | Type | Req | Description |
|---|---|---|---|
| base_type | string | yes | What kind of values this type records (see above). |
| default_value | – | – | Value pre-filled when recording. boolean/numeric only. |
| description | – | – | Optional description of what the type tracks. |
| metric_kind | – | – | "cumulative" or "discrete". boolean/numeric/scale only. |
| name | string | yes | Human-readable name (e.g. "Caffeine Intake"). |
| scale_labels | – | – | Exactly 5 labels for the 1-5 scale values. scale only. |
| tags | – | – | Optional tag names to attach; missing tags are created automatically. |
| unit | – | – | Unit for recorded values (e.g. "mg"). numeric only. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
create_share Create Share ~308
Share files or data types from this account with other Fulcra users (read-only). Recipients read them by passing this user's ID as `fulcra_userid` to the file and data tools; they can never write here. For agent-to-agent coordination, share a folder like "/shared/<topic>/" and have the other user share one back; each agent writes to its own account and reads the other's. Only share what the user asked to share.
| Name | Type | Req | Description |
|---|---|---|---|
| data_types | – | – | Data type IDs to share (see `get_data_catalog`). Also accepts "calendars" and "calendar_events". |
| file_paths | – | – | Files or folders to share; a folder path must end with "/". |
| include_file_history | boolean | – | Also share earlier versions of the files. |
| name | string | yes | A short label for the share, shown to recipients. |
| share_all_data | boolean | – | Share the entire account, only on explicit request. Excludes file_paths and data_types. |
| time_end | – | – | Only share data records before this time. Must include tz. ISO8601. Not allowed with file_paths. |
| time_start | – | – | Only share data records from this time on. Must include tz. ISO8601. Not allowed with file_paths: file shares are never time-bounded. |
| with_group_ids | – | – | Fulcra data group IDs to share with (all members). |
| with_user_ids | – | – | Fulcra user IDs to share with. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
debug_token_info Debug Token Info ~42
Return info about the local session's Fulcra credentials. Shows expiry and refresh-token presence for the stdio session's stored credentials. Useful for diagnosing authentication issues.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
delete_file Delete File ~71
Delete a file stored in the user's Fulcra account. This is a soft delete: earlier versions of the file are kept and can be restored with `restore_file` (find version IDs via list_files with include_versions=true).
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | The full path of the file to delete. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
delete_share Delete Share ~50
Stop sharing: delete a share this user created, revoking all recipients' access.
| Name | Type | Req | Description |
|---|---|---|---|
| share_id | string | yes | The "datashare_id" from `list_shares(direction="outgoing")`. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_calendar_events Get Calendar Events ~165
Retrieve the user's calendar events within a time range. This will return events that occur (at least partially) during the range. Each event carries a participant_count; pass include_participants=true when you need who was invited and their responses. Result timestamps include time zones; translate them to the user's local time zone when known.
| Name | Type | Req | Description |
|---|---|---|---|
| calendars | – | – | Only these calendars (names or IDs); default is all. |
| end_time | string | yes | Range end (exclusive). Must include tz (ISO8601). |
| fulcra_userid | – | – | Retrieve events of another Fulcra user (if shared) |
| include_participants | boolean | – | Include each event's participant list. |
| start_time | string | yes | Range start (inclusive). Must include tz (ISO8601). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_calendars Get Calendars ~52
List the user's calendars, grouped by account/source. Use the names or IDs with get_calendar_events to filter by calendar.
| Name | Type | Req | Description |
|---|---|---|---|
| fulcra_userid | – | – | List calendars of another Fulcra user (if shared) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_data_catalog Get Data Catalog ~135
Get all data types available for this user, grouped by relevant MCP tool. Includes health and sensor measurements, location, events, and user-defined annotation types. Call this before requesting time-series data or raw records, and only use a data type with the tools named in its group.
| Name | Type | Req | Description |
|---|---|---|---|
| category | – | – | Optional. Filter by category. E.g. "healthkit", "annotations", "sleep", "mindfulness", "user_configured", "base_type". |
| data_type | – | – | Optional. Return only the data type with this exact ID. |
| name | – | – | Optional. Filter results by partial, case-insensitive name match. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_data_updates Get Data Updates ~167
Summarize the data that arrived in the user's account during a period of time. The time range filters on when records were processed/synced into Fulcra, NOT on the records' own timestamps — e.g. last night's sleep records typically arrive this morning. Use this to find out what new data exists since a previous check, then query the changed types with the appropriate tools.
| Name | Type | Req | Description |
|---|---|---|---|
| end_time | string | yes | The end of the time range (exclusive). Must include tz (ISO8601). |
| fulcra_userid | – | – | Check another Fulcra user's account instead. Only what they share is reported; poll to notice their agent's writes. |
| start_time | string | yes | The start of the time range (inclusive). Must include tz (ISO8601). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_location_at_time Get Location at Time ~149
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 away. Result timestamps will include time zones. Always translate timestamps to the user's local time zone when this is known.
| Name | Type | Req | Description |
|---|---|---|---|
| include_after | boolean | – | Allow the closest sample to be after `time` (default true). |
| reverse_geocode | boolean | – | Include the address of the location (default true). |
| time | string | yes | The point in time to locate the user at. Must include tz (ISO8601). |
| window_size | integer | – | Seconds around `time` to search for samples (default 14400). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_location_time_series Get Location Time Series ~129
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.
| Name | Type | Req | Description |
|---|---|---|---|
| change_meters | – | – | Drop samples fewer than this many meters from the previous one. |
| end_time | string | yes | Range end (exclusive). Must include tz (ISO8601). |
| reverse_geocode | – | – | Include the address of each location (default false). |
| sample_rate | – | – | Seconds per sample (default 900). |
| start_time | string | yes | Range start (inclusive). Must include tz (ISO8601). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_records Get Records ~206
Retrieve the raw records of any data type during a time period. Works with every type listed by `get_data_catalog`, including user-defined ones ("<BaseType>/<uuid>" IDs); the correct API endpoint is chosen automatically. Records that cover a time range are included when any part of it intersects the requested window. Results are raw samples — they may come from multiple sources and can overlap; for calculated per-interval values of numeric data types, prefer `get_time_series`. Result timestamps include time zones; translate them to the user's local time zone when known.
| Name | Type | Req | Description |
|---|---|---|---|
| data_type | string | yes | The data type ID, as returned by `get_data_catalog`. |
| end_time | string | yes | Range end (exclusive). Must include tz (ISO8601). |
| fulcra_userid | – | – | Retrieve data for another Fulcra user (if shared) |
| start_time | string | yes | Range start (inclusive). Must include tz (ISO8601). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_sleep Get Sleep ~442
Return the user's sleep data at a chosen level of detail. Pick the coarsest level that answers the question — results grow with detail: - "aggregate": stage totals per period (default 1 day), one row per period per stage. Best for multi-day questions ("how did I sleep this month"). - "cycles": one row per sleep session. - "stages": every stage interval (the full hypnogram); single-night detail. Sleep spans midnight (starts day N, ends day N+1) — extend the time range accordingly. Stage integers: 0=In Bed, 1=Asleep/Unknown, 2=Awake, 3=Light, 4=Deep, 5=REM. Result timestamps include time zones; translate them to the user's local time zone when known.
| Name | Type | Req | Description |
|---|---|---|---|
| agg_functions | – | – | "aggregate" level only. E.g. "sum", "mean" (default ["sum"]). |
| clip_to_range | – | – | Clip results to the requested range (default True). |
| cycle_gap | – | – | Minimum interval separating distinct cycles (e.g. "PT2H"). |
| end_time | string | yes | Range end (exclusive). Must include tz (ISO8601). |
| gap_stages | – | – | Stage integers treated as gaps between cycles. |
| level | string | – | Level of detail (see above). |
| merge_contiguous | – | – | "stages" level only. Merge adjacent same-stage samples (default True). |
| merge_overlapping | – | – | "stages" level only. Merge overlapping stages (default True). |
| mode | – | – | "aggregate" only. Assign by "start", "end" or "split" (default "end"). |
| period | – | – | "aggregate" level only. Period length, e.g. "1d", "1w" (default "1d"). |
| stages | – | – | Stage integers to include (default: all). |
| start_time | string | yes | Range start (inclusive). Must include tz (ISO8601). |
| time_zone | – | – | "aggregate" only. IANA tz for period bounds; use the user's local one. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_time_series Get Time Series ~227
Get calculated per-interval time-series values for a single data type. Only data types that `get_data_catalog` lists as usable with this tool are supported; other types can be read with `get_records`. Result timestamps include time zones; translate them to the user's local time zone when known.
| Name | Type | Req | Description |
|---|---|---|---|
| calculations | – | – | Extra per-slice calculations to include. One or more of "max", "min", "delta", "mean", "uniques", "allpoints", "rollingmean". Not supported on "cumulative" kinds. |
| data_type | string | yes | The data type ID to retrieve (see `get_data_catalog`). |
| end_time | string | yes | Range end (exclusive). Must include tz (ISO8601). |
| fulcra_userid | – | – | Retrieve data for another Fulcra user (if shared) |
| replace_nulls | – | – | Replace missing values (NA) with 0. |
| sample_rate | – | – | Seconds per sample; may be fractional. |
| start_time | string | yes | Range start (inclusive). Must include tz (ISO8601). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_user_info Get User Info ~35
Return general info about the Context by Fulcra user. Returns user references such as time zone, calendar ids, and other metadata.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_workouts Get Workouts ~109
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.
| Name | Type | Req | Description |
|---|---|---|---|
| end_time | string | yes | the ending time of the period. Must include tz (ISO8601). |
| fulcra_userid | – | – | Retrieve data for another Fulcra user (if shared) |
| start_time | string | yes | The starting time of the period. Must include tz (ISO8601). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_files List Files ~148
List the files in the user's Fulcra account, or files another user shares. Files can be used to pass data between agents: one agent writes a file with `write_file`, others notice the change via `get_data_updates` and read it with `read_file`.
| Name | Type | Req | Description |
|---|---|---|---|
| fulcra_userid | – | – | List another Fulcra user's files (only the paths they share). |
| include_versions | boolean | – | Return all stored versions of one file, newest first. `path` must then be a single file's full path. Version IDs can be passed to `restore_file`. |
| path | string | – | A folder to list (default "/"), or a single file's full path. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_shares List Shares ~99
List what this user shares with others and what others share with them. Incoming entries show what another user shares (read it by passing their `sharing_fulcra_userid` as `fulcra_userid` to the file and data tools). Also reports this user's own ID, which others need in order to share with them.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | – | Which shares to list: "outgoing", "incoming", or "both". |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
read_file Read File ~131
Read a file from the user's Fulcra account, or one another user shares.
| Name | Type | Req | Description |
|---|---|---|---|
| fulcra_userid | – | – | Read a file of another Fulcra user (if shared). |
| include_binary | boolean | – | Return non-UTF-8 files base64-encoded (default false). Otherwise binary files are refused with their size. |
| max_bytes | integer | – | Truncate text content beyond this many bytes (default 100000). Pass a larger value only when the full content is truly needed; large files consume a lot of context. |
| path | string | yes | The full path of the file to read. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
record_data Record Data ~201
Record a single record for a recordable data type. Use get_data_catalog to find data types; user-defined ones use the "<BaseType>/<uuid>" ID form (create new ones with create_data_type). Recorded data can be read back with get_records.
| Name | Type | Req | Description |
|---|---|---|---|
| data_type | string | yes | The ID of the data type to record to. |
| end_time | – | – | When the recorded range ended. Must include tz (ISO8601). Only for duration-style types, where it is required. |
| note | – | – | Free-text note stored with the record. |
| start_time | – | – | When the record occurred; defaults to now. Must include tz. ISO8601. Duration-style types require it. |
| tags | – | – | Tag names to attach; missing tags are created automatically. |
| value | – | – | The value to record, for types that take one. E.g. "75.5" for numeric, "true" for boolean, "3" for scale. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
restore_data_type Restore Data Type ~42
Restore an archived user-defined data type.
| Name | Type | Req | Description |
|---|---|---|---|
| data_type | string | yes | The "<BaseType>/<uuid>" ID of the archived type, or the bare UUID. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
restore_file Restore File Version ~47
Restore a previous version of a file in the user's Fulcra account.
| Name | Type | Req | Description |
|---|---|---|---|
| version_id | string | yes | The UUID of the file version to restore. Found via list_files with include_versions=true. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
write_file Write File ~146
Write a text file to the user's Fulcra account. Writing to an existing path creates a new version; earlier versions are kept and can be restored with `restore_file`. Other agents can detect the change through `get_data_updates` (under "file_changes") and read it with `read_file`, so files are a good way to pass data between agents.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | The text content to write. |
| content_type | string | – | Optional MIME type. Defaults to "text/plain"; use e.g. "application/json" when writing JSON. |
| path | string | yes | The full path to write to (e.g. "/agents/state.json"). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the Context by Fulcra MCP server?
Context by Fulcra is an MCP server listed in the public MCP registry as com.fulcradynamics/context. Connect your Fulcra Context personal datastore: access your metrics, events, agent data and more. This page covers its PyPI package (fulcra-context-mcp).
Is the Context by Fulcra MCP server safe to use?
Context by Fulcra scores 66 out of 100 on VerifyMCP. We recorded 2 known advisories against it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Context by Fulcra MCP server expose?
Context by Fulcra exposes 25 tools: get_workouts, annotations_catalog, create_data_type, archive_data_type, restore_data_type, and 20 more. Their descriptions and schemas cost roughly 3,488 tokens of context every time the server is loaded.
Is the Context by Fulcra MCP server still maintained?
Context by Fulcra is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.