mcp-server-sigma: Instructions file for Codex

AGENTS.md

mcp-server-sigma AGENTS.md is an instructions file for Codex, OpenCode from christianclaudio/mcp-server-sigma. It costs 6,176 tokens per session, scanned C, original, Apache-2.0.

Repository instructions for an MCP server that exposes Sigma Computing's REST API to AI clients. Sigma Computing is a business analytics platform.

In plain words
What is it for?
Use it when adding or changing Sigma API tools, HTTP client behavior, webhooks, error handling, or server tests.
Why use it?
It explains the server structure and development rules, including authentication handling, retries, rate limits, logging, and safeguards for destructive actions.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md. Also seen: mentions Claude Code; mentions AGENTS.md.

This is christianclaudio/mcp-server-sigma's own configuration. It tells Codex and OpenCode how to work on mcp-server-sigma itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything mcp-server-sigma configures →

Reuse

Borrowing it

Nothing to install: this file belongs to christianclaudio/mcp-server-sigma. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/christianclaudio/mcp-server-sigma/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/christianclaudio/mcp-server-sigma

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for mcp-server-sigma AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/christianclaudio/mcp-server-sigma/agents-md/github.svg)](https://agentmods.dev/instructions/christianclaudio/mcp-server-sigma/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/christianclaudio/mcp-server-sigma/agents-md"><img src="https://agentmods.dev/badge/instructions/christianclaudio/mcp-server-sigma/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for mcp-server-sigma AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/christianclaudio/mcp-server-sigma/agents-md"><img src="https://agentmods.dev/badge/instructions/christianclaudio/mcp-server-sigma/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 6,176 This file is loaded in full into every session.
When invoked 6,176 The same file — it is already loaded in full.
Security scan C 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.06176 $0.06176
Opus 5.5 $0.02470 $0.02470
Sonnet 5.5 $0.01235 $0.01235
Haiku 4.5 $0.00618 $0.00618

Measured yesterday against content hash e04d6b590449, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade C, and why

mcp-server-sigma AGENTS.md scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

rm -rf dist && uv build && uv run python scripts/check_version.py

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s -o /dev/null -w '%{http_code}\n' https://pypi.org/pypi/mcp-server-sigma/X.Y.Z/json # prints 404
AGENTS.md · 160 lines

How it starts

The opening of the file, as written. The whole thing — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AGENTS.md

Instructions for AI coding agents (Antigravity, Claude Code, Copilot, Cursor, Windsurf) working on this repository or integrating Sigma Computing cloud analytics capabilities.


🎯 Project Overview

This is mcp-server-sigma — an enterprise Python Model Context Protocol (MCP) server for Sigma Computing, built on its public REST API (v2 and v3alpha); scripts/check_openapi_drift.py lists the spec endpoints the client does not cover. Bulk-destructive tools are listed in full and refused at call time unless enabled; the expected per-profile tool counts live in scripts/check_tool_contract.py.

Primary Purpose: Expose deep cloud business intelligence, embedded analytics, workbook lineage, SQL data modeling, user/team administration, and tenant token exchange to AI agents with strict enterprise safety gates, offline testing, and multi-tenant token isolation.


🏗️ Key Paths

  • src/sigma_mcp/server.py — root gateway: create_server mounts the domain sub-servers (workbooks, datasets, elements, workspace, admin) with matching namespaces, then applies the job allowlist, the read-only filter, and (on full only) Tool Search or Code Mode; prompts, resources.
  • src/sigma_mcp/profiles.py — PROFILES (full, readonly, and the job profiles analyst, author, modeler, embed, access_admin), their tool allowlists, FULL_ONLY_TOOLS, BULK_DESTRUCTIVE_TOOLS, and the readOnlyHint filter.
  • src/sigma_mcp/tools/<domain>.py — domain sub-servers (admin, datasets, elements, workbooks, workspace); tools/common.py holds the ANNOTATION_* constants and shared helpers.
  • src/sigma_mcp/client.py — async HTTP client (SigmaClient, _encode_segment(), RFC 8693 token exchange). SSRFSafeAsyncTransport resolves each request's host once (the ASCII/IDNA name, off the event loop), checks every address, and connects only to a checked one through a pinned httpcore network backend, trying the next checked address if a connect fails while the request's connect timeout lasts (one deadline shared by all the addresses, not a fresh timeout for each); the URL keeps the hostname for the Host header, TLS SNI, certificate verification and per-hostname connection pooling. A host with no checked address and Unix sockets are refused. The API client, the documentation fetches and scripts/check_openapi_drift.py all use it. httpx ignores env proxies whenever a transport is passed (allow_env_proxies = trust_env and transport is None), so connections always go direct through the pin; egress-proxy deployments need a proxy-aware transport, which isn't provided; trust_env=False on the drift fetch is belt-and-braces. errors.py — exceptions and secret redaction. auth.py — SharedTokenVerifier, the FastMCP TokenVerifier that create_server() attaches at build whenever SIGMA_MCP_AUTH_TOKEN is set (stripped, non-blank), so main(), fastmcp run and http_app() all enforce it (constant-time compare; stdio ignores it); main() also attaches it at serve time if the env was set after import, and refuses (exit 2) a tokenless HTTP bind to a host other than 127.0.0.1, ::1 or localhost unless SIGMA_MCP_ALLOW_UNAUTHENTICATED_BIND=1. webhooks.py — HMAC verification. middleware.py — read-only gate (readOnlyHint only, unwraps the Tool Search call_tool proxy) and the admin bulk-destructive gate. config.py — settings.
  • scripts/check_tool_contract.py — source of truth for expected tool counts and annotations. README.md and four test files repeat some of these counts (SIGNED_OFF in tests/test_profiles.py, the 257 in tests/test_unit.py, tests/test_enterprise_assertion.py and tests/test_layered.py), so change them together; do not add new copies.
  • scripts/check_openapi_drift.py, scripts/write_ops_check.py (live create-and-teardown against a Sigma org; needs SIGMA_CLIENT_ID, SIGMA_CLIENT_SECRET, and SIGMA_API_BASE_URL), scripts/check_conformance.sh + conformance-baseline.yml.
  • scripts/release_notes.py — release body from squash commits since the previous v* tag. scripts/check_version.py — runs after the build and reads the version from the single wheel in dist/ (the file that ships, as release.yml's tag check does); fails on 0.0.0 (no git metadata) or 0.0.1.devN (no reachable tag, a shallow checkout).
  • tests/ — unit tests are offline; live network tests live in tests/test_e2e_live.py (marked pytest.mark.e2e, deselected by default pytest addopts -m 'not e2e', run with -m e2e). That test sets no skip and no env check; tool calls use get_client, which requires SIGMA_CLIENT_ID and SIGMA_CLIENT_SECRET. The unmarked test_dispatch_tool_call_offline in that file stays in the default suite. tests/test_integration_live.py skips unless SIGMA_LIVE_TESTS=1 and SIGMA_CLIENT_ID are set. Security-hardening, webhook, and protocol tests are tests/test_security_hardening.py, tests/test_webhooks.py, and tests/test_protocol.py. Profile, read-only, and composition tests are tests/test_profiles.py and tests/test_layered.py. Version and release-tooling tests are tests/test_version.py, tests/test_release_notes.py, and tests/test_check_version.py.
  • .github/workflows/ — ci.yml, release.yml (on a v* tag: build with full history, check the wheel version matches the tag, build the release notes, publish to PyPI, create the GitHub Release from scripts/release_notes.py, then push the Docker image only after the publish job succeeds, then stamp the tag version into server.json and publish to the MCP Registry in a last registry job that needs the Docker job), sigma-drift-monitor.yml, dependabot-automerge.yml (squash auto-merge only for Dependabot PRs whose highest update is minor or patch; major updates wait for a human review).
  • server.json (MCP Registry metadata), Dockerfile, pyproject.toml.

Read the full file on GitHub · 160 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday Changed · +2 lines · +234 tokens per session e04d6b590449
  2. 2d ago Changed · +14 tokens per session 7a9a54d8aa75
  3. 5d ago Changed · +1 lines · +83 tokens per session e5dff24a66d7
  4. 6d ago Changed · +2 lines · +656 tokens per session a81c3270e847
  5. 9d ago Changed 2bbe3cb9973d
  6. 13d ago Changed · +66 tokens per session 625bbeb0e074
  7. 16d ago Changed · +472 tokens per session b4ee52676c7a
  8. 18d ago Changed · +2 lines · +700 tokens per session 24cbd854dd9a
  9. 19d ago Changed · +33 lines · +1,854 tokens per session scan A → C 8a49d87f516f
  10. 22d ago First seen · 120 lines · 2,097 tokens per session scan A 9f1016c71e09

Subscribe to this mod's changes

mcp-server-sigma AGENTS.md is an instructions file published in the GitHub repository christianclaudio/mcp-server-sigma (2 stars, last pushed yesterday), licensed Apache-2.0. It adds 6,176 tokens to every session, about $0.0247 per session on Opus 5.5. A static security scan graded it C with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories