Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

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

66 Trust /100
Trust breakdown (7 categories)

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
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.

Install

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

# add to Claude Code
claude mcp add com-fulcradynamics-context -- uvx fulcra-context-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "com-fulcradynamics-context": {
      "command": "uvx",
      "args": [
        "fulcra-context-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-fulcradynamics-context": {
      "command": "uvx",
      "args": [
        "fulcra-context-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-fulcradynamics-context -- uvx fulcra-context-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-fulcradynamics-context": {
      "type": "local",
      "command": [
        "uvx",
        "fulcra-context-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-fulcradynamics-context --command uvx --arg fulcra-context-mcp
# ~/.hermes/config.yaml
mcp_servers:
  com-fulcradynamics-context:
    command: "uvx"
    args: ["fulcra-context-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-fulcradynamics-context": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "fulcra-context-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add com-fulcradynamics-context -t stdio -c uvx -a fulcra-context-mcp
// mcp.json
{
  "mcpServers": {
    "com-fulcradynamics-context": {
      "command": "uvx",
      "args": [
        "fulcra-context-mcp"
      ]
    }
  }
}
Changelog

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.

Diagnostics

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 →

MCP tools · 25 exposed · ~3,488 tokens

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 →

Tool Tokens
annotations_catalog ~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.

NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
data_typestringyesThe "<BaseType>/<uuid>" ID from get_data_catalog, or the bare UUID.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
base_typestringyesWhat kind of values this type records (see above).
default_valueValue pre-filled when recording. boolean/numeric only.
descriptionOptional description of what the type tracks.
metric_kind"cumulative" or "discrete". boolean/numeric/scale only.
namestringyesHuman-readable name (e.g. "Caffeine Intake").
scale_labelsExactly 5 labels for the 1-5 scale values. scale only.
tagsOptional tag names to attach; missing tags are created automatically.
unitUnit for recorded values (e.g. "mg"). numeric only.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
data_typesData type IDs to share (see `get_data_catalog`). Also accepts "calendars" and "calendar_events".
file_pathsFiles or folders to share; a folder path must end with "/".
include_file_historybooleanAlso share earlier versions of the files.
namestringyesA short label for the share, shown to recipients.
share_all_databooleanShare the entire account, only on explicit request. Excludes file_paths and data_types.
time_endOnly share data records before this time. Must include tz. ISO8601. Not allowed with file_paths.
time_startOnly share data records from this time on. Must include tz. ISO8601. Not allowed with file_paths: file shares are never time-bounded.
with_group_idsFulcra data group IDs to share with (all members).
with_user_idsFulcra user IDs to share with.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
resultstringyes

No examples provided.

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).

NameTypeReqDescription
pathstringyesThe full path of the file to delete.
NameTypeReqDescription
resultstringyes

No examples provided.

delete_share ~50

Stop sharing: delete a share this user created, revoking all recipients' access.

NameTypeReqDescription
share_idstringyesThe "datashare_id" from `list_shares(direction="outgoing")`.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
calendarsOnly these calendars (names or IDs); default is all.
end_timestringyesRange end (exclusive). Must include tz (ISO8601).
fulcra_useridRetrieve events of another Fulcra user (if shared)
include_participantsbooleanInclude each event's participant list.
start_timestringyesRange start (inclusive). Must include tz (ISO8601).
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
fulcra_useridList calendars of another Fulcra user (if shared)
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
categoryOptional. Filter by category. E.g. "healthkit", "annotations", "sleep", "mindfulness", "user_configured", "base_type".
data_typeOptional. Return only the data type with this exact ID.
nameOptional. Filter results by partial, case-insensitive name match.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
end_timestringyesThe end of the time range (exclusive). Must include tz (ISO8601).
fulcra_useridCheck another Fulcra user's account instead. Only what they share is reported; poll to notice their agent's writes.
start_timestringyesThe start of the time range (inclusive). Must include tz (ISO8601).
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
include_afterbooleanAllow the closest sample to be after `time` (default true).
reverse_geocodebooleanInclude the address of the location (default true).
timestringyesThe point in time to locate the user at. Must include tz (ISO8601).
window_sizeintegerSeconds around `time` to search for samples (default 14400).
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
change_metersDrop samples fewer than this many meters from the previous one.
end_timestringyesRange end (exclusive). Must include tz (ISO8601).
reverse_geocodeInclude the address of each location (default false).
sample_rateSeconds per sample (default 900).
start_timestringyesRange start (inclusive). Must include tz (ISO8601).
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
data_typestringyesThe data type ID, as returned by `get_data_catalog`.
end_timestringyesRange end (exclusive). Must include tz (ISO8601).
fulcra_useridRetrieve data for another Fulcra user (if shared)
start_timestringyesRange start (inclusive). Must include tz (ISO8601).
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
agg_functions"aggregate" level only. E.g. "sum", "mean" (default ["sum"]).
clip_to_rangeClip results to the requested range (default True).
cycle_gapMinimum interval separating distinct cycles (e.g. "PT2H").
end_timestringyesRange end (exclusive). Must include tz (ISO8601).
gap_stagesStage integers treated as gaps between cycles.
levelstringLevel 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").
stagesStage integers to include (default: all).
start_timestringyesRange start (inclusive). Must include tz (ISO8601).
time_zone"aggregate" only. IANA tz for period bounds; use the user's local one.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
calculationsExtra per-slice calculations to include. One or more of "max", "min", "delta", "mean", "uniques", "allpoints", "rollingmean". Not supported on "cumulative" kinds.
data_typestringyesThe data type ID to retrieve (see `get_data_catalog`).
end_timestringyesRange end (exclusive). Must include tz (ISO8601).
fulcra_useridRetrieve data for another Fulcra user (if shared)
replace_nullsReplace missing values (NA) with 0.
sample_rateSeconds per sample; may be fractional.
start_timestringyesRange start (inclusive). Must include tz (ISO8601).
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
end_timestringyesthe ending time of the period. Must include tz (ISO8601).
fulcra_useridRetrieve data for another Fulcra user (if shared)
start_timestringyesThe starting time of the period. Must include tz (ISO8601).
NameTypeReqDescription
resultstringyes

No examples provided.

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`.

NameTypeReqDescription
fulcra_useridList another Fulcra user's files (only the paths they share).
include_versionsbooleanReturn 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`.
pathstringA folder to list (default "/"), or a single file's full path.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
directionstringWhich shares to list: "outgoing", "incoming", or "both".
NameTypeReqDescription
resultstringyes

No examples provided.

read_file ~131

Read a file from the user's Fulcra account, or one another user shares.

NameTypeReqDescription
fulcra_useridRead a file of another Fulcra user (if shared).
include_binarybooleanReturn non-UTF-8 files base64-encoded (default false). Otherwise binary files are refused with their size.
max_bytesintegerTruncate 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.
pathstringyesThe full path of the file to read.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
data_typestringyesThe ID of the data type to record to.
end_timeWhen the recorded range ended. Must include tz (ISO8601). Only for duration-style types, where it is required.
noteFree-text note stored with the record.
start_timeWhen the record occurred; defaults to now. Must include tz. ISO8601. Duration-style types require it.
tagsTag names to attach; missing tags are created automatically.
valueThe value to record, for types that take one. E.g. "75.5" for numeric, "true" for boolean, "3" for scale.
NameTypeReqDescription
resultstringyes

No examples provided.

restore_data_type ~42

Restore an archived user-defined data type.

NameTypeReqDescription
data_typestringyesThe "<BaseType>/<uuid>" ID of the archived type, or the bare UUID.
NameTypeReqDescription
resultstringyes

No examples provided.

restore_file ~47

Restore a previous version of a file in the user's Fulcra account.

NameTypeReqDescription
version_idstringyesThe UUID of the file version to restore. Found via list_files with include_versions=true.
NameTypeReqDescription
resultstringyes

No examples provided.

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.

NameTypeReqDescription
contentstringyesThe text content to write.
content_typestringOptional MIME type. Defaults to "text/plain"; use e.g. "application/json" when writing JSON.
pathstringyesThe full path to write to (e.g. "/agents/state.json").
NameTypeReqDescription
resultstringyes

No examples provided.

Common questions

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.