> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sedata-ai.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Quick answers to the most common questions.

<AccordionGroup>
  <Accordion title="Does this work with non-Node MCP servers?" icon="globe">
    `@sedata-ai/mcp` is the TypeScript / Node.js package. Python and Go
    packages are mirrored in the same repo
    (`example-servers/{python,golang}-mcp-server/`) and are tracked as
    separate releases.
  </Accordion>

  <Accordion title="Will instrumentation slow my tools down?" icon="gauge-high">
    Per-call overhead is tens of microseconds for span creation and recording
    (negligible vs typical tool latency). The exporter runs asynchronously in
    the background and never blocks your handler. The biggest cost in
    practice is the optional `safetyCheck` round-trip (\~tens of ms).
  </Accordion>

  <Accordion title="Can I use this with my own OTel collector?" icon="server">
    Yes. Set `exporterEndpoint` to your collector's HTTP endpoint
    (typically `https://otel.example.com/v1`). Sedata Cloud is just one
    option — any OTLP/HTTP backend works.
  </Accordion>

  <Accordion title="Does it work with self-hosted Jaeger / Tempo / Honeycomb?" icon="signal-stream">
    If they accept OTLP/HTTP, yes. Honeycomb accepts OTLP directly. For
    Jaeger / Tempo, point at the OTel collector that fronts them.
  </Accordion>

  <Accordion title="What about MCP methods other than tools/call?" icon="diagram-next">
    Today only `tools/call` is auto-instrumented. Completions, prompts,
    resources, and the rest are tracked as 🚧 in
    [Architecture](/concepts/architecture). You can record them yourself
    today using
    [custom instrumentation](/metrics-and-traces/custom-instrumentation).
  </Accordion>

  <Accordion title="Does safetyCheck send my data to Sedata?" icon="shield">
    Yes — the wrapper POSTs the value of the chosen parameter to
    `https://api.sedata-ai.tech/security/safety-check`. If you don't want
    that, don't wrap with `safetyCheck`. Tracing alone never sends tool args
    unless you opt in via `enableArgumentCollection`.
  </Accordion>

  <Accordion title="How do I run without sending anything to Sedata?" icon="lock">
    Set `exporterType: 'console'` (or point `exporterEndpoint` at your own
    collector) and **don't** use `safetyCheck`. The package then runs
    fully local.
  </Accordion>

  <Accordion title="Is there a way to test the wrapper in CI?" icon="vial">
    Yes — switch to console exporter, drive a known tool call, and grep for
    expected attributes in stdout. See
    [Console debugging](/guides/console-debugging) for an assertion pattern.
  </Accordion>

  <Accordion title="Why is enableArgumentCollection off by default?" icon="user-shield">
    Tool arguments often contain user-supplied content, secrets, or PII.
    Defaulting to off means a fresh install can't accidentally leak. Turn it
    on knowingly, ideally paired with `dataProcessors`.
  </Accordion>

  <Accordion title="Can I use multiple TelemetryManagers in one process?" icon="layer-group">
    Yes — useful for testing or for instrumenting two separate sub-systems
    with different `serverName`s. The OTel `NodeSDK` is started per manager,
    so be deliberate about lifecycle.
  </Accordion>

  <Accordion title="What's the version stability story?" icon="tag">
    The package is `0.0.x` — the surface is stable enough to depend on, but
    expect minor field tweaks before `1.0`. Pin the version in production.
  </Accordion>
</AccordionGroup>
