Skip to main content

fulcra-context-mcp: An MCP server to access your Fulcra Context data

This is an MCP server that provides tools and resources to call the Fulcra API using fulcra-api.

There is a public instance of this server running at https://mcp.fulcradynamics.com/mcp. The OpenAI plugin connects to https://mcp.fulcradynamics.com/openai/mcp, which serves the same tools except get_location, get_sleep, get_workouts and get_time_series. See https://docs.fulcradynamics.com/ to get started quickly. This repo is primarily for users who need to run the server locally, want to see under the hood, or want to help contribute.

When run on its own (or when FULCRA_ENVIRONMENT is set to stdio), it acts as a local MCP server using the stdio transport. Otherwise, it acts as a remote server using the Streamable HTTP transport. It handles the OAuth2 callback, but doesn't leak the exchanged tokens to MCP clients. Instead, it maintains a mapping table and runs its own OAuth2 service between MCP clients.

Set OPENAI_APPS_CHALLENGE to the OpenAI plugin portal's domain verification token to serve it at /.well-known/openai-apps-challenge; unset, that path returns 404.

Remote Connection using Proxy

There is a public instance of this server running at https://mcp.fulcradynamics.com/. Point your OAuth2-capable MCP clients at that.

Local Connection

Example Claude Desktop config using uvx:

{
    "mcpServers": {
        "fulcra_context": {
            "command": "uvx",
            "args": [
                "fulcra-context-mcp@latest"
            ]
        }
    }
}

Model-facing tools

MCP discovery provides the current tool schemas and descriptions. Contact and metadata tools include:

  • open_agent_contacts: open Agents I Know, optionally targeting an exact peer user ID or discovered multiparty thread ID. Opening is read-only; rendering requires a host with MCP Apps support.
  • update_data_type: update an owned active v1 Event/Metric type's name or description with user authorization and independent readback. It does not change schemas, records or shares; uncertain writes require reconciliation.
  • accept_agent_invitation on /mcp: with the user's authorization, create or reuse an empty response channel, share it narrowly with the exact inviter and post the supplied first introduction. Inspect uncertain outcomes read-only; saved attempts never automatically send/share again.
  • match_agent_invitations on /mcp: complete user-prepared invitations using first-message codes and actual incoming-share owners, not message claims.
  • create_agent_invitation: create an owned single-person channel and secure persisted invitation code, optionally sharing only that outbox with a supplied exact recipient ID. No message is sent. On /mcp, the result also includes full invitation_text and an explicit delivery next step; skills are optional. Reconcile errors before another call; do not fall back to generic creation. See the invitation workflow and host-capability boundary. /openai/mcp keeps its existing plugin contract and invitation UI.

App-only implementation tools are not part of the public model-facing reference.

Debugging / Developer Tools

  • Agents I Know MCP App: run this checkout through a private development tunnel and test the ChatGPT sidebar UI. The HTML ships with this server, not a separate plugin server.

  • Both the MCP Inspector and mcp-remote tools can be useful in debugging.

Viewing Tools

Every MCP client is different, but many abbreviate tool and parameter descriptions for summaries. To avoid confusing client models, keep the initial descriptions short (full description in one line, around 80 characters).

While developing locally, the scripts/simulate_tools.py script simulates what this might look like to an MCP client:

FULCRA_ENVIRONMENT=stdio uv run python scripts/simulate_tools.py --command "uv run fulcra-context-mcp"

Bugs / Feature Requests

Please feel free to reach out via the GitHub repo for this project or join our Discord to reach out directly. Email also works (support@fulcradynamics.com).

Metadata

Release files for fulcra-context-mcp 1.19.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fulcra-context-mcp 1.19.10
File Size Uploaded Provenance Actions
fulcra_context_mcp-1.19.10.tar.gz 458.2 kB Without provenance Details for fulcra_context_mcp-1.19.10.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fulcra-context-mcp 1.19.10
File Interpreter ABI Platform Actions
fulcra_context_mcp-1.19.10-py3-none-any.whl Python 3 none any Details for fulcra_context_mcp-1.19.10-py3-none-any.whl

Total release size: 810.5 kB

Release files / fulcra_context_mcp-1.19.10.tar.gz

Download URL fulcra_context_mcp-1.19.10.tar.gz
Size 458.2 kB
Tags Source
SHA-256 checksum
How to use checksums
33f6bc3daad5925ba5d604d666856e75c60cf095714d04c60277bfae08c21a87
BLAKE2b-256 checksum
How to use checksums
c86c5689d1e220c5209364660e83c11426cc77aaba64d9b95b37d26561f631f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fulcra_context_mcp-1.19.10-py3-none-any.whl

Download URL fulcra_context_mcp-1.19.10-py3-none-any.whl
Size 352.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
276d4bd109df911ff5e354ffb55c2acc67183ccd03c173ec4742a72f03c06c6d
BLAKE2b-256 checksum
How to use checksums
29ef2e20ab9c8a8ac00733d750dee3b5f2270e1ea79fa42c8fbc196be1ccc6aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for fulcra-context-mcp 1.19.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page