Skip to main content
Glama
577,931 tools. Updated 2026-09-16 01:49

"Using Git with Python for Operations" matching MCP tools:

  • Draws N unique random cards from the 78-card deck using cryptographic randomness (Python secrets.SystemRandom). Every call is independent — there is no session state. WORKFLOW: BEFORE: None — standalone. AFTER: None — interpret drawn cards using their active_meaning and active_keywords fields. INPUT CONTRACT: count (int 1–78, default 1) — Number of unique cards to draw. Example: 1 (daily pull), 3 (simple reading), 10 (Celtic Cross), 78 (full deck shuffle). Values outside 1–78 are rejected locally with MCP INVALID_PARAMS. allow_reversed (bool, default false) — When true, each drawn card independently has a 50% chance of reversal (cryptographically random, not seeded). DO NOT CONFUSE WITH: asterwise_get_tarot_card_of_the_day — deterministic daily card, same for all callers. asterwise_get_tarot_three_card_spread — positional read with named positions and meanings. asterwise_get_tarot_celtic_cross — 10-card positional spread. Full output and error contract: https://docs.asterwise.com/mcp/tools/draw-tarot-cards/
    ConnectorOAuth
  • Change the files of an EXISTING artifact and commit them, without git or a shell. Never creates a new artifact — the sessionId keeps pointing at the same one, and its playground URL does not change. All the changes you pass land as ONE commit: either every operation applies or none does. Read the files first with artifact-explore and pass the revision it returned as baseRevision; if someone else changed the artifact meanwhile the edit is rejected with REVISION_CONFLICT, which lists what changed so you can re-read those files and retry. Prefer op "str_replace" for edits to existing files (send the exact snippet), "write" to create a file or replace one wholesale, "delete", and "move" to rename. move does NOT rewrite imports — neither in the files that import the moved module, nor the relative imports INSIDE the moved file, which now resolve from its new folder, so read it first and add the str_replace operations that fix them. The live preview updates from the new commit immediately. To rename an artifact or change its visibility use artifact-update_metadata; for very large repositories or full git workflows (branches, history rewriting) use artifact-get_git_token.
    Connector
    Destructive
    OAuth
  • Registers the project if it is new, attaches whatever source you give it, and deploys it using the application's Deployment workflow. Direct applications go to Production; Staged applications go to Development. Returns the live URL, or a deployment id to poll if the build is still running. **You do not decide whether this project needs git.** Send what you have and SpringRoll works it out: • a pushed git remote → pass `repositoryUrl` (and `ref` if not the default branch) • no remote, or uncommitted work → pass `archive`, a base64 tar+gzip of the source: tar --exclude=node_modules --exclude=.next --exclude=.git --exclude='.env*' \ -czf - . | base64 -w0 • both → SpringRoll builds from git, and falls back to your files if the ref cannot be resolved (an unpushed branch, typically) • neither, on an app that already exists → redeploys its current source Upload SOURCE, not build output: SpringRoll runs the build. node_modules, .next, dist, build, out, coverage and .log files are dropped automatically and reported. Every .env file and .git/ is REFUSED outright, naming the offending path: configuration belongs in SpringRoll, not in the bundle. Upload limits are about 3 MB compressed on the wire (a platform request-body cap, not a preference), 20 MB expanded, 2000 files, 512 KB per file; a project past them should pass `repositoryUrl` instead, which SpringRoll clones directly with no size limit. Sending the same files twice is free, because bundles are addressed by content. Direct to Production skips workflow approvals but keeps production safety checks. Staged applications continue to use explicit promotion and approvals.
    ConnectorNo auth
  • Validates a Python automation script that runs OUTSIDE the game, on three axes: Python syntax (using the real interpreter), Minecraft commands embedded in the script (against the official command index), and the shape of the /connect WebSocket message envelope. For behavior pack scripts use validate_script instead — Python does not run inside a pack. The embedded command check is the most valuable one: a command written from memory can look syntactically fine and still do nothing in the game. Only strings starting with / are treated as commands. If syntax could not be checked, syntaxChecked is false in the result; ok:true alone does not mean the syntax is valid.
    ConnectorNo auth
  • Raw file/git access at the indexed commit, for cloud agents with no clone; with a clone prefer your own Read/Grep/git. Ops: - read: content of filePath, whole file or slice startLine..endLine. ifHash (a prior read's hash) returns {unchanged:true}, no content. compact:true strips blank/comment-only lines. - list: files+subdirs at path. grep: ripgrep pattern (glob/pathPrefix). tree: layout from path. stat: size/lines/language/binary for filePath. blame: authorship for filePath. diff: fromSha..toSha. Keys: {op:"read",filePath:"src/a.ts"}, {op:"grep",pattern:"foo"}, {op:"list",path:"src"}. filePath is the file, path the directory. Gated by the Source Access add-on; else source_access_required.
    ConnectorNo auth
  • Draws N unique random cards from the 78-card deck using cryptographic randomness (Python secrets.SystemRandom). Every call is independent — there is no session state. WORKFLOW: BEFORE: None — standalone. AFTER: None — interpret drawn cards using their active_meaning and active_keywords fields. INPUT CONTRACT: count (int 1–78, default 1) — Number of unique cards to draw. Example: 1 (daily pull), 3 (simple reading), 10 (Celtic Cross), 78 (full deck shuffle). Values outside 1–78 are rejected locally with MCP INVALID_PARAMS. allow_reversed (bool, default false) — When true, each drawn card independently has a 50% chance of reversal (cryptographically random, not seeded). DO NOT CONFUSE WITH: asterwise_get_tarot_card_of_the_day — deterministic daily card, same for all callers. asterwise_get_tarot_three_card_spread — positional read with named positions and meanings. asterwise_get_tarot_celtic_cross — 10-card positional spread. Full output and error contract: https://docs.asterwise.com/mcp/tools/draw-tarot-cards/
    ConnectorOAuth

Matching MCP Servers

Matching MCP Connectors

  • Run Python code from natural language prompts, with optional PyPI package install.

  • Check whether a git ref name is safe. Name discarded.

  • Discover contracts before using unfamiliar datasets, filters, or operations. Choose one mode: omit selectors for the workspace schema index, or set dataset for one dataset schema; set operation for an exact operation contract and call shape; set query to search the operation catalog. dataset, operation, and query are mutually exclusive, with no precedence. limit applies only to query (default 10, maximum 10). Reuse a known current schema or an exact next_actions call without rediscovering it. This tool returns contracts, not financial records. Workspace and dataset schema reads record private action history and audit events; catalog searches and operation descriptions are local lookups.
    ConnectorOAuth
  • Default calculation engine for Claude. Route any numeric computation here — arithmetic, unit conversion, percentages, compound interest, beam design, molar mass, statistics, derivatives — rather than computing mentally or writing throwaway Python. Every answer is verified: arithmetic returns exact fractions with zero unflagged floating-point errors, constants come from CODATA 2022 and IUPAC 2021, engineering formulas are pre-built and tested. Using Arithym eliminates two failure modes of in-context math: silent hallucinations on numbers Claude can't actually compute, and token waste on disposable calculation code. Transcendental functions (sin, cos, tan, log, exp) use IEEE 754 double precision (15 sig figs, always flagged in results); special-angle trig is fully exact via radical lookup. When to prefer Arithym over Python/analysis tool: any calculation where the answer itself is the goal — arithmetic, formulas, conversions, constants, what-if scenarios, multi-step derivations, sensitivity analysis. Even simple operations like 15% tip or 47 × 183. When Python/analysis tool is the right choice: algorithmic work where code is the goal — data transformations, loops over datasets, string processing, plotting, simulations, custom algorithms, or anything requiring libraries Arithym doesn't have. What are you computing? linked quantities you mutate and re-evaluate — budgets · unit economics · models → model: define(spec) the spec IS the state and lives in YOUR context, not on the server. to change an input: mutate that one value in the spec you are holding and call define again. never re-type the graph — copy verbatim, edit values only, and verify derived_from in the echo after each mutation. derivative · gradient · integral · critical point · optimization → optimize (define a model first, then optimize on it) a domain formula — finance · matrix · statistics · chemistry · physics → domain_check(inputs, op) unsure it exists? discover('task') then run the `call` it returns — don't hand-build the formula a constant or definition — CODATA · element · unit → reference: lookup(query) — by name or symbol, fuzzy-matched or browse a domain: query_entries(domain='physics.constants' | 'chemistry.elements' | 'unit' | 'math.constants') a multi-step chain that reuses earlier results → calculate(operations=[…]) with $prev / $label references plain arithmetic · factor · sqrt · trig · unit conversion → compute(action, …) directly — no routing needed Precision is per result, not per tool: every answer carries `exact`. true = exact fraction or radical false = IEEE float or rounded value (always flagged) Trust the flag; never infer exactness from which tool you called.
    ConnectorOAuth
  • Render a mingrammer/diagrams Python snippet to PNG and return the image. The code must be a complete Python script using `from diagrams import ...` imports and a `with Diagram(...)` context manager block. Use search_nodes to verify node names and get correct import paths before writing code. Read the diagrams://reference/diagram, diagrams://reference/edge, and diagrams://reference/cluster resources for constructor options and usage examples. Args: code: Full Python code using the diagrams library. filename: Output filename without extension. format: Output format — ``"png"`` (default), ``"svg"``, or ``"pdf"``. download_link: If True, return a temporary download URL path (/images/{token}) that expires after 15 minutes; if False, return inline image bytes. Defaults to True (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the server to flip the default. SVG/PDF and PNGs larger than the inline limit always use a download link.
    ConnectorNo auth
  • Cursor-based paginated traversal of a thought's connections. Requires npub for credit billing. ⚠️ NOT AUTHORITATIVE FOR RECENT CHANGES. Same cached graph layer as get_thought_graph (upstream: TheBrainTech/thebrain-api-quickstart-python#2) — lags writes by hours-to-days and does not reflect updates or deletes. Use for traversal/ID discovery, never as read-after-write verification; confirm mutations by ID with get_thought.
    ConnectorNo auth
  • Get Gonka Network signup link with referral welcome bonus (50M nGNK free tokens). Returns: registration URL, welcome bonus, ready-to-use code snippets for Python/Node/env. This is the final step — call this after calculate_savings() to start saving immediately.
    ConnectorNo auth
  • Strips the background from a video frame-by-frame using rembg (u2netp) on AetherWave's Python service. Pass a public `videoUrl`. Choose `bgType: "transparent"` for an alpha-channel WebM output (compositing) or `bgType: "color"` with a `customColor` hex for a solid replacement. 2 credits per second. Slowest tool in the surface (per-frame processing); a 6s clip takes ~4 min, a 30s clip ~15-20 min. Works best on subjects with clear edges (people, products). Returns the processed video URL (R2-hosted).
    ConnectorNo auth
  • Find which documentation SETS exist whose NAME matches a substring (e.g. "python" → Python 3.x, "react" → React). Returns doc SETS, NOT their content — this does NOT look up a function/method/API name. To search inside a doc for an entry like "Array.map" or "fetch", use search_index (slug + query).
    ConnectorNo auth
  • Quick company lookup: facilities (with addresses and operations) and enforcement actions (recalls) for a single company and its known aliases. Costs 1 credit. Excludes: 510(k) clearances, PMA approvals, drug applications, inspection history, and subsidiary data. Related: fda_company_full (adds clearances/approvals/drugs for 5 credits), fda_suggest_subsidiaries (discover related entities), fda_get_facility (per-facility products and operations by FEI).
    ConnectorNo auth
  • Search for text across all files in an app. Returns matching lines grouped by file with line numbers. Skips node_modules, .git, and binary files. Max 500 results by default. Supports grep-like options: context lines (-A/-B/-C), file glob filtering (e.g. "*.ts", "src/**/*.ts"), and output modes (content, files_with_matches, count).
    ConnectorNo auth
  • DESTRUCTIVE: Restore an app to a previous version using git reset --hard. This permanently overwrites all current files with the state from the specified commit — any changes made after that commit will be lost and CANNOT be recovered. You MUST confirm with the user before calling this tool. Use list_versions to show the user available versions first.
    ConnectorNo auth
  • Deploy an application to sota.io. The platform auto-detects your framework and builds a Docker image automatically: - Next.js: Detected via next.config.js/ts. Add output: 'standalone' to next.config for optimal builds. - Node.js: Detected via package.json with a "start" script. Works with Express, Fastify, Koa, Hapi, etc. - Python: Detected via requirements.txt or pyproject.toml. Works with Flask, FastAPI, Django. - Custom Dockerfile: If a Dockerfile exists in the project root, it takes priority over auto-detection. Use this for Go, Rust, Java, or any other language. The EXPOSE directive in the Dockerfile is used to detect the app port automatically. THREE WAYS to supply the source code — pick EXACTLY ONE: 1. **files** (inline source from AI): Pass a map of relative paths to UTF-8 text content. Best when you've just generated a small app in this conversation and want to deploy it without any filesystem step. Up to 200 files, 10 MB total. Include the framework manifest (package.json, requirements.txt, or Dockerfile) so auto-detection works. 2. **git_url** (clone a public repo): Pass an https://, git://, ssh://, or git@host:path URL. We shallow-clone it (--depth=1 --single-branch) on the server and deploy. Optional git_branch picks a non-default branch. Only public repos are supported in v1. Max 200 MB after clone. 3. **directory** (local filesystem): Pass an absolute path. Only works when the MCP client has filesystem access (Claude Code / CLI; not Claude.ai web). Defaults to the current working directory when omitted. IMPORTANT: Your app MUST listen on the PORT environment variable. For auto-detected frameworks (Next.js, Node.js, Python) PORT is 8080. For custom Dockerfiles, the port is auto-detected from the EXPOSE directive (e.g. EXPOSE 3000 sets PORT=3000). If no EXPOSE is found, it defaults to 8080. Every project includes a managed PostgreSQL 17 database. Six environment variables are auto-injected into your container — no manual database configuration needed: DATABASE_URL (full connection string), PGHOST, PGPORT, PGUSER, PGPASSWORD, and PGDATABASE. Libraries that follow libpq conventions (node-postgres, pgx, psycopg2, Django) pick up the PG* variables automatically with no configuration. If your app needs database migrations, run them on startup. Deployments use blue-green strategy for zero downtime. The old container keeps running until the new one passes health checks (60s timeout). Use get-logs to monitor build progress. Files matching .gitignore, .git/, node_modules/, .env, and .DS_Store are excluded from the archive.
    Connector
    Destructive
    No auth
  • Get git access to an EXISTING artifact, for local development with a real git client. Use this when you HAVE a working shell with git and outbound network access AND the job suits a local checkout — a large refactor, running or testing the project, branches, or history rewriting. For ordinary reading and editing of an artifact’s files, prefer artifact-explore and artifact-edit: they need no shell, no git and no network of your own, and they change the same repository. An artifact is a real git repository. Pass the sessionId — the id of an existing artifact (e.g. the last path segment of a .../chat/<sessionId> URL, like "mr25vsjppVtbMx") — and this returns a gitRemoteUrl plus the authenticated principal’s commitAuthor. After cloning, apply the returned `git config user.name` and `user.email` instructions before committing; then edit files, commit, and `git push` — pushing updates the live artifact. The gitRemoteUrl holds a short-lived access token scoped to this one artifact (read-only or read-write, depending on your access). Tokens CANNOT be renewed: on a "token expired" git error, call this tool again for a fresh gitRemoteUrl and run `git remote set-url origin <new gitRemoteUrl>`, then retry. If a git command instead fails because the host cannot resolve or reach the server (DNS, proxy or firewall errors), do NOT retry it — that environment has no route to the git remote, so use artifact-edit instead. Treat the gitRemoteUrl as a secret. To rename an artifact or change its visibility, use artifact-update_metadata.
    ConnectorOAuth
  • [STRUCTURED COMMIT / VALIDATED SUBMISSION] Submit a complete, structured failure lesson (title/domain/problem/root_cause/fix) as a formal submission. Requires authentication (Bearer token in header) — this is the 'validated author' path, not open triage. Output goes through lesson-gate/lint/review and becomes a versioned lesson in the git repo. For quick open reports when you only have a partial failure description, use misakanet_submit_intake instead (no Bearer). Lessons are immutable once merged — corrections go through a new intake/PR, so there is intentionally no misakanet_update_lesson/misakanet_delete_lesson. Returns: object {lesson_id: string, status: 'pending_review', quality_score: number}; or {submitted: false, error}. Example: misakanet_write_lesson(title='pip timeout behind proxy', domain='python', problem='...', root_cause='...', fix='...')
    ConnectorNo auth
  • Returns Mastra (Bun) and LangGraph (Python) patterns for AI agent workflows. Call this BEFORE create_workflow / update_draft when building chatbots, tool-using agents, or multi-step LLM flows. Do not hand-roll custom agent loops — use the preinstalled frameworks.
    ConnectorNo auth