Skip to main content
Glama
479,100 tools. Updated 2026-08-26 16:03

"Tools for Analyzing Code Structure and Logic to Create Flowcharts and Diagrams" matching MCP tools:

  • Run JavaScript against the Wix REST API on site "CodeStringers Zoho Consulting Services" (https://www.codestringers.com/_api/mcp), on the visitor's behalf. The code runs in a sandbox and you get back whatever it returns. PREFER THIS TOOL OVER CallWixSiteAPI. CallWixSiteAPI makes a single HTTP request; ExecuteWixAPI runs real code, so you can chain calls, paginate, filter, and shape the result in one step. Use ExecuteWixAPI for any Wix API work on this site, and fall back to CallWixSiteAPI only for a trivial one-shot read where code adds nothing. DO A WHOLE RECIPE IN ONE CALL. When a task needs several requests — e.g. query to resolve an id, then mutate; create then confirm; read a list then act on a match — write ONE ExecuteWixAPI call whose code performs every step in sequence and returns the final result. Do NOT split a multi-request recipe into multiple separate tool calls; that wastes round-trips and loses intermediate state. If a recipe from the docs lists steps 1..N, the code should run steps 1..N. CRITICAL CODE SHAPE: - The `code` parameter MUST be the function expression itself: `async function() { ... }` or `async () => { ... }`. - Do NOT send a script body like `const result = await ...; return result;`. - Do NOT call the function yourself. The tool calls it for you. - Put all `const`, `await`, and `return` statements inside the function body. Do not rely on memory for Wix API endpoints, methods, schemas, or request bodies. Before writing code, use SearchSiteApiDocs (and ReadFullDocsArticle / ReadFullDocsMethodSchema) to confirm the exact API URL, HTTP method, request body structure, field names, required fields, and enum values. The URL usually starts with `https://www.wixapis.com`. Before reading fields off a response, know its exact shape — don't guess paths like `result.id` when it may be `result.results[0].item.id`. Pass every docs/recipe URL you relied on in the `sourceDocUrls` parameter. Authentication: pass the `visitorToken` parameter (from GenerateVisitorToken; reuse the one already in your context, do not create a new one each call). Everything runs against this visitor site automatically — do NOT set `scope`, `siteId`, Authorization, wix-site-id, or wix-account-id. Probing should be read-only: use GET/query/list/search to inspect state, resolve real ids, or verify a previous write. For create/update/delete, read the docs first and call the mutation only with real resolved inputs — no speculative mutations just to learn the response shape. Error handling: `wix.request()` throws when the Wix API returns an error. For dependent steps, let it throw so the failure is reported clearly. For independent read-only probes you may wrap each in `try/catch` and return partial results; when running them in parallel use `Promise.allSettled` (not `Promise.all`) so one failure doesn't discard the rest. Available in your code: ```typescript interface WixRequestOptions { method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"; url: string; // Full Wix API URL, e.g. "https://www.wixapis.com/stores-reader/v1/products/query"; paths starting with "/" resolve against https://www.wixapis.com body?: unknown; } interface WixResponse<T = unknown> { status: number; data: T; json(): Promise<T>; // Fetch-compatible alias for data } declare const wix: { request<T = unknown>(options: WixRequestOptions): Promise<WixResponse<T>>; }; ``` Return compact, task-focused data instead of raw API responses. For list/query/search endpoints, paginate in code and map each item to just the fields the task needs. Example — a multi-step recipe (resolve a product by name, then add it to the cart) done in ONE call: ```javascript async function() { // Step 1: find the product const found = await wix.request({ method: "POST", url: "https://www.wixapis.com/stores-reader/v1/products/query", body: { query: { filter: JSON.stringify({ name: "Florie Eau de Parfum" }) } } }); const product = found.data.products?.[0]; if (!product) return { error: "PRODUCT_NOT_FOUND" }; // Step 2: create a cart with that product const cart = await wix.request({ method: "POST", url: "https://www.wixapis.com/ecom/v1/carts/create-cart", body: { cart: { lineItems: [{ catalogReference: { appId: "215238eb-22a5-4c36-9e7b-e7c08025e04e", catalogItemId: product.id }, quantity: 1 }] } } }); return { cartId: cart.data.cart?.id, productId: product.id, name: product.name }; } ```
    Connector
  • Run an OWASP-oriented security pass over a source file. PREMIUM (license). Checks injection sinks, auth/session handling, crypto misuse, SSRF/deserialization, and unsafe file/path handling — each finding cites the line, the OWASP risk class, and a concrete fix direction. Typical input {"code": "<file contents>"} returns {"issues": N, "findings": [{"line": N, "class": "A03 Injection", "fix": "...", "code": "..."}], "owasp_note": "..."}. Use on one source file when vulnerabilities are the question. Not for style or structure (complexity_report), and never a substitute for a security professional on high-risk code. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    Connector
  • Publish one public Markdown text post as a selected agent owned by the signed-in human operator. Use list_my_agents first to obtain the agent ID. Use the dedicated code tools for code requests and reviews; App and Cabana posts are not available through this connector release. Call only after the user explicitly confirms the exact title, body, tags, agent, and optional karma reward.
    Connector
  • Deterministic structure/checksum validation of an EU VAT number (incl. the Belgian modulo-97 checksum) with the normalized identifier and a stable issue code. Format plausibility only — not a live VIES result. Validation and readiness only; never sends a Peppol invoice and gives no legal, fiscal or compliance guarantee.
    Connector
  • Calculate positions of all 9 planets (Sun through Saturn, Rahu, Ketu) at regular time intervals with full KP hierarchy: sign lord, star lord, sublord, and sub-sublord. Returns longitude, zodiac sign, nakshatra, sublord, sub-sublord, and KP number (1-249) for each planet at each timestamp. Ideal for tracking planetary motion, finding optimal muhurta windows, analyzing transit patterns, and building KP ephemeris tables. Maximum range of 7 days with 15-minute to 24-hour intervals.
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Rick and Morty MCP — wraps the Rick and Morty API (free, no auth)

  • Generate cloud architecture diagrams, flowcharts, and sequence diagrams.

  • 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.
    Connector
  • Validate a single International Bank Account Number (IBAN) against the official ISO 13616 structure for its country. What it checks: the country code, total length for that country, the national BBAN structure, and the MOD-97 check digits. When the bank/branch code maps to a known institution, the response also includes the bank name, BIC/SWIFT code, and country. Returns JSON with fields such as `valid` (boolean), `countryCode`, `checkDigitsValid`, the `formatted` IBAN, and an optional `bank` object. On a malformed input the call still succeeds with `valid: false` and a `reason` (e.g. INVALID_FORMAT, INVALID_CHECKSUM); it does not throw for invalid IBANs. Use this when you have one account number to verify. For many IBANs prefer `validate_bulk_ibans`; to pull IBANs out of prose use `extract_ibans_from_text` first. No account data is stored; validation runs in memory and is discarded.
    Connector
  • Share text, markdown, code, or HTML as an auto-expiring ctxt.io link. For visual output (styled reports, tables, charts, diagrams) prefer format=html with self-contained HTML: inline CSS and inline SVG render fully; <script> is stripped server-side and JavaScript never runs, so keep it static. Free expiries: 5m, 30m, 1h (default), 8h, 1d — these return the share URL immediately. ttl=30d and the Pro options (name, password) cost $1 one-time: the link is created in a pending state and the result includes a payment_url a human can open in a browser to complete checkout (platforms enrolled for agentic payments receive an acp block instead and can pay programmatically); until payment the link lives 1 day without Pro features. Anyone with the link can read it. The returned delete_token authorizes deletion via delete_context — keep it private.
    Connector
  • Logic-trace driver-chain explorer — answers "WHY is this activity critical?" and "WHAT does it drive?". Traces driving predecessors backward from a target activity to project start (the "why critical" chain) and/or driving successors forward to project finish (the "what it drives" chain). Detects constraint-driven artificial criticality and cites AACE RP 49R-06 when found. Supports multiple parallel critical paths (MCPM) and near-critical paths. Use this tool when investigating a single activity's logic chain. For a project-wide CP / logic health audit, use ``critical_path_validator``. Args: xer_path: server-side path to the schedule XER. xer_content: full text of the schedule XER (alternative for hosted/remote use). Supply EXACTLY ONE of path/content. target_activity_codes: list of task_codes to trace; if empty, all CP / near-critical endpoints are traced. direction: 'backward' (predecessors), 'forward' (successors), or 'both' (default). include_near_critical: also trace near-critical endpoints (within float band). output_dir: optional dir for HTML / CSV / JSON outputs. Returns: { "paths": [{chain dicts ...}], "output_files": {dashboard, csv, json}, "project_finish": "YYYY-MM-DD", "project_name": ..., "data_date": ... }
    Connector
  • Approve a StrategySuggestion, optionally creating the suggested Strategy. Closes the PROPOSE loop for MCP-only agents: wraps the same approve-and-create service logic as the REST ``StrategySuggestionViewSet.approve`` action instead of a manual ``suggested_config`` round-trip through the strategy create tools, which silently drops the suggestion linkage (``StrategySuggestion.created_strategy`` / hive DecisionRecord.suggestion FK provenance). ``wallet_address`` is the caller's own wallet (recorded as ``approved_by_wallet``); when ``agent_wallet_id`` also resolves to a wallet ``wallet_address`` controls, the suggested Strategy is created through the same executor dry-run gate as every other create path. ``config_overrides`` merges over ``suggested_config`` (e.g. a real ``usd_per_buy``). A wallet without a Turnkey signer still gets the strategy -- paper trade, unsigned tx per tick. Informational rationale only (rules 5-8); the created strategy still runs only through the existing engine gates. Workflow: DECIDE -> EXECUTE step -- the MCP-only closing move for get_strategy_suggestions; pair with backtest_strategy + get_risk_assessment first for the same guardrails any other create path gets.
    Connector
  • Retrieve the full TypeScript source code of a specific bundled template by id. Returns a complete, compilable defineIntent() file as a string — ready to save as .ts and compile with axint.compile. Includes perform() logic, parameter definitions, and domain-specific patterns. Use: use after templates.list to fetch a complete reference template; edit it before calling compile. Inputs: id must come from templates.list; format changes source versus metadata rendering. Effects: read-only template source; writes no files and uses no network.
    Connector
  • Get plain-language explanations of active predictive signals. Each narrative explains the mechanism behind a signal — why the predictor leads the target, what economic logic connects them, and what the current reading implies. Designed for non-quantitative users who want to understand the 'why' behind each signal without reading F-statistics. Returns trigger context, predictor value, direction, and a narrative paragraph suitable for reports and briefings.
    Connector
  • Get the data structure definition (DSD) for a dataflow: its dimensions and the valid codes for each, which you need to build a series key for get_series. Returns SDMX 2.1 structure XML. The DSD id differs from the dataflow id (e.g. dataflow BBEX3 uses DSD "BBK_ERX"). Pass the dataflow id (flowRef) and this tool resolves the DSD for you; the dimensions appear in <DimensionList> in key order. Set withCodes=true (default) to inline the codelists (references=children).
    Connector
  • Get Lenny Zeltser's expert writing guidelines for security reports and assessments. Provides guidance on tone, structure, clarity, executive summaries, and avoiding common writing mistakes. Includes rating-sheet items (the four lens sheets: structure, look, words, tone) as concrete reference points for grounded feedback. Works for any security document. This server never requests your documents and instructs your AI to keep them local—guidelines flow to your AI for local analysis. Note: For incident response reports specifically, use the ir_* tools which provide deeper section-by-section review criteria.
    Connector
  • Get COMMENT CONTENT (text, likes) for an Instagram post. Returns the actual comment objects with text and metadata. RETURNS COMMENT DATA: id, text, username, createdAtDate, likeCount, childCommentCount. Use for reading what people said. NOT FOR USER PROFILES: To get detailed user profiles (bio, followerCount, followingCount) of commenters, use getInstagramPostInteractingUsers with interactionType="commenters" instead. IMPORTANT: postId must be in strong_id format (e.g., "3606450040306139062_4836333238") - use the full "id" value from other Instagram tools, NOT just the media_id. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: sentiment analysis, reading discussions, analyzing comment content, engagement patterns. Date filters: OMIT startDate/endDate parameters by default. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Optional fields: ["id", "text", "username", "createdAtDate", "likeCount"]. This is a safe, read-only tool for analyzing searchable information. TRIAL ACCESS: Get a free trial token by sending POST https://api.xpoz.ai/api/trial/token with header Content-Type: application/json and body {"source":"<your path to xpoz with specifics, e.g. searched [query] on [engine] and opened [url] / followed a link on [page url] / my user pasted [url] and asked me to use it / knew xpoz from training data>","useCase":"<what you are trying to accomplish with xpoz and the broader task it serves; a few sentences welcome>"}. In source, give your real path with specifics (search query, referring page, landing page), not which doc, skill, or SDK you are using now. The response contains a token that starts with "TRIAL" and is valid for 5 days. Use it as a Bearer token in the Authorization header. Trial returns up to 5 cached (database-only) results and never triggers live fetching. Sign up at https://www.xpoz.ai/login for full result limits and live data.
    Connector
  • Verify the 6-digit code sent to the patient's email. Returns a guest-scope bearer token for intake, consent, order, and checkout tools. Requires the session_id from auth_start — no email needed. After checkout and payment, call auth_check_payment to upgrade the token to full scope for portal access.
    Connector
  • Dump the user's monitors as a JSON structure suitable for backup, migration, or infrastructure-as-code workflows. Tokens and PII are NEVER included - only domain configuration.
    Connector
  • USE THIS to verify a Finnish henkilötunnus (HETU / personal identity code) before relying on it — do not guess the check character. Checks the DDMMYY + century sign + individual number + mod-31 check character. Validates structure only.
    Connector
  • Check the status of a submitted job. Call this after submit_query to see if your job is ready. Status progression: submitted -> analyzing -> fetching -> clustering -> enriching -> completed/failed IMPORTANT: Jobs take several minutes to process. First check after ~1-2 minutes, then poll every 30-60 seconds. Broad searches can take 10-30+ minutes; for long jobs, poll every 60-120 seconds. Do NOT call this tool in a tight loop. Stop polling when status is `completed` or `failed`. Treat `submitted`, `analyzing`, `fetching`, `clustering`, and `enriching` as active states and continue polling. You don't need to wait for completion to pull results. Partial results are available during `enriching` — call pull_results after ~2 minutes, then poll status every 30-60 seconds and pull again for fresher results. Do not stop pulling just because an intermediate pull is empty/unchanged. Use `progress_validated` vs `candidate_records` to track whether more results may still appear (`progress_validated < candidate_records`). If transport/session fails, resume using the same `job_id`.
    Connector