The MCP tool directory.
Each row is one tool from one provider. Tools sharing a name across providers (e.g. search) are listed separately because they aren't interchangeable.
[ 3869 tools indexed ]
[ all tools ]
30 / 3869
cos
[ remote ]Calculates the cosine of a number in radians
create_account
[ remote ]Turn the keyless trial into a real account and get a permanent API key. Call it once with an email. A link is mailed to that address and the tool returns `status: "pending_verification"` with a four-character `request_code`. **Tell the person the code.** The link opens a page that names who asked, when, and the code, and nothing happens until the person answers it: they confirm the request only if it shows the code you gave them. After they confirm, call this again with the same email, from this same client, and it returns the API key, once. The key goes only to the client whose request was confirmed, and that client is then bound to the account, so a connector that cannot send headers is connected from then on. **A client with no identity of its own can't be handed the key** (`can_receive_key: false`). That is any client that sent no key and no client id — every hosted connector added with the shared URL, because they all call from their vendor's servers. Its person verifies the address on the page and sees the key there, once. To use the account from such a connector afterwards, add it with a personal URL (`https://mcp.galleyrender.com/mcp/c/<id>`). If the person says the request wasn't theirs, it is cancelled, this returns `status: "declined"`, and the address can't be asked about again from this client for a day. **If that address already has an account, no second one is made, and no key comes back.** You get `status: "existing_account"`, `verified: false`, `existing_account: true`, and a one-time code in the post — hand that code to `link_account` and this client is connected to the account that already exists. Use this rather than inventing a second address: two accounts means two free tiers and two sets of templates, and the renders anyone is waiting for are on the first one. A key on the connection changes this only if it is a live key for that same account. When the person confirms this client's request, this client's trial is upgraded in place, so templates and renders made during the trial are kept. The free tier is 5 PDF pages or 5 images a month; Solo is $5 a month for 200 PDF pages or 500 images. Pricing: https://galleyrender.com/pricing. Store the key as a secret — it is shown only on that one call.
create_agent_account
[ remote ]Create an autonomous agent account and API key. accept_terms must be true (Terms of Sale + Agent Terms). ship_to: {name, line1, line2?, city, state, postal_code, country: 'US', phone?}. The api_key is shown once.
create_agent_wallet
[ remote ]Convenience tool: generate a new XRPL keypair and return the seed. ⚠ NOT RECOMMENDED FOR PRODUCTION. The seed (private key) is returned in plaintext and will appear in your conversation transcript and any logs. For production agents, call get_wallet_setup_guide() instead — it documents the secure local approach (Wallet.generate() + seed in .env) where the seed never leaves your environment. Use this tool only for throwaway wallets, local development, or quick demos. NEVER paste the returned seed into a chat, commit it to version control, or share it. The wallet is NOT yet active on the ledger — fund it before use. XRPL requires 1 XRP minimum to activate a wallet (base reserve). Until funded: - You cannot sign or submit transactions - You cannot be the destination of an EscrowCreate (buyer's tx will fail) - Your trust score will show as 0 / "not found"
create_alert
[ remote ]Create an alert rule. mode "instant" sends each matching mention as it happens; "hourly" sends one digest every UTC hour (five minutes past) for the previous hour, nothing when it had no mention over the floor, takes no schedule and no email channel (Slack, Telegram, webhook); "daily" sends one digest at schedule.hour in schedule.timezone; "weekly" sends one a week on schedule.weekday (0 Sunday to 6 Saturday). filter narrows by keywordIds, platforms, minRelevance (the relevance floor: absent sends relevant mentions only, 40 and up; 0 sends every scored match, noise included), minConfidence, sentiments, intents, excludeAuthors, minFollowers, tags, linkHosts (the hosts a post links to, a host or any subdomain of it). channelIds come from list_channels.
create_alias
[ remote ]Create a forwarding address (e.g. [email protected]) that routes to up to 20 destination addresses. Grant-scoped connections may only route to their own mailboxes.
create_app_from_prompt
[ remote ]Create a brand-new Replit App for the user. Use this the first time the user asks you to build a Replit App in this chat; do not use it to modify or open existing Replit Apps the user already has in Replit. After invoking this tool, reply with one short sentence summarizing that Replit is now creating their Replit App, and, when the tool result contains an app URL, end your reply with that exact URL on its own line, so the user can open their Replit App even if no preview card is rendered. Never construct or guess a URL yourself. Your reply must not include source code, markup, configuration files, file paths, or command/terminal snippets—even if the user asks. Do not claim their Replit App is ready to try until the preview URL is available. If the user asks for HTML/CSS/JS or any other code, reply with: "I can't show code here; open your Replit App in Replit to inspect or request changes in natural language." Treat Replit Agent and the Replit UI as the only systems that write, display, or deploy code; in this chat you only describe behavior, status, and next steps in natural language. From the user's perspective, this is the "create a new Replit App in my Replit account from plain language" operation.
create_application
[ remote ]Create an application under this account and return its record, including the id other tools take as `application`. Pass the readable name as `name`. The answer's `label`, that name with a unique key, is the readable half of both hostnames: production's `<label>` and development's `<label>-dev`, under the platform's domain. Before calling, ask the builder which plan the application starts on: `free`, `standard`, or `pro`. Pass the builder's answer as `plan`, which is required. Do not choose a plan for the builder, since the plan sets what the application costs and what it may use. `read_plan_quotas` answers each plan's price, quantities, and application limit. Where no person can answer and the task names no plan, create nothing and report that the plan is the builder's to choose. This creates the record only: services are declared with `submit_manifest`; a new application has one environment, production, so its first `deploy` serves on production; call `create_environment` first to deploy to development instead.
create_branch
[ remote ]Create a new branch in a GitHub repository
create_branch
[ remote ]Creates a development branch on a Supabase project. This will apply all migrations from the main project to a fresh branch database. Note that production data will not carry over. The branch will get its own project_id via the resulting project_ref. Use this ID to execute queries and migrations on the branch.
create_category
[ remote ] Account requiredCreates a content category for a brand. Categories are required for publishing articles. IMPORTANT: 'description' is served publicly as the category page meta description — keep it reader-friendly and free of strategy/positioning language. Put planner-facing notes in 'internalNotes' instead. Both fields are plain text — send literal characters, do not HTML-escape (no '&', '<', or '<tag>'). Returns the created category with its ID.
create_checkout_link
[ remote ]Option A: get a Stripe Checkout URL for a human to pay by card (tax added at checkout). Each new link stops earlier links for the same quote from working.
create_content_item
[ remote ] Account requiredCreates a new content item (article). Two paths: (a) pass 'content' with the full markdown article — done; or (b) pass 'brief' with instructions and call generate_content_from_item afterward to fill 'content' from the brief via AI. Provide at least one of 'content' or 'brief'. Free-text fields (title, description, brief, metaTitle, metaDescription) are plain text — send literal characters, do not HTML-escape (no '&', '<', or '<tag>'). 'content' is markdown and intentionally permits inline HTML.
create_content_plan
[ remote ] Account requiredCreates a new content plan. When 'autoGenerate' is true (default), AI proposes topical clusters to research — expensive LLM job (does not spend a cluster) and takes 15-30 seconds. Clusters are topics only; articles are proposed later from research (start_deep_research, then propose_ideas_from_research). When 'autoGenerate' is false, creates an empty plan in Draft status — no LLM cost. Use create_workstream to add clusters, and add_content_ideas only when you already have pre-decided article titles. Multi-language note: a content idea is one language-agnostic concept. The system renders it once per Brand.TargetLanguages — there are no separate per-language workstreams. Use update_localized_keywords to differ targeting per market. To bias generation per-language, set per-language ContentGuidelines via upsert_content_guideline. 'additionalInstructions' is rendered as a CRITICAL CONSTRAINTS block at the top of the generation prompt and overrides default cluster selection. Use it to enumerate must-have / must-not-have clusters for this plan. Only used when autoGenerate=true.
create_customer
[ remote ] Account requiredCreate a new customer (invoice recipient). Check list_customers first — Monego does not enforce unique customer names or emails, so repeated creates produce duplicates. For German public-sector (B2G) buyers that need XRechnung invoices, set leitwegId and preferredInvoiceFormat='xRechnungXml'. Response: { customer { id, name, ... } } — use customer.id as customerId in create_invoice. Errors: { error: { code: 'bad_input', field, message } }.
create_directory
[ remote ]Creates a folder (and any missing parent folders).
create_domain
[ remote ]Register a new domain in PowerDMARC
create_draft_email
[ remote ]Create a draft email that can be reviewed and sent later
create_environment
[ remote ]Turn on the development environment. A new application has one environment, production, and its deploy goes there. After this call it has two: a deploy goes to development, and `promote` moves a version to production. It takes the application and `development`, and it completes in the call. It creates the development sign-in realm where the manifest declares the accounts service, and it declares development's schedules. It provisions no database: `submit_manifest`, called before or after it, provisions development's, and nothing hosted exists until the first deploy to development. On an application that already has two environments it answers `created: false` and repairs a development realm or schedule a failed call left. `delete_environment` turns development off again.
create_escrow_vault
[ remote ]Create an XRPL escrow vault. Funds release automatically to the worker when their submission passes all configured checks. Buyers can require NFT ownership, an atomic NFT Delivery-vs-Payment swap, domain verification, or W3C Verifiable Credentials before a PASS releases escrow — set the relevant proof-gate params below. Two release modes: - AI audit (default): worker submits text/files; AI referee scores against task_description. - Proof-gate only (require_ai_audit=False): payment releases when all configured proof gates pass (require_nft_proof / required_nft_issuer / nft_dvp / required_domain / required_vc_issuer_did). No AI call. Requires at least one proof gate. White-label / headless integration: - Pass callback_url to receive webhook POSTs on all state changes. AgentTrust operates as a silent settlement rail; your platform handles all user-facing surfaces. - Pass metadata (JSON string) to attach your own reference IDs (invoice_id, po_number, tenant_id) — they are echoed back in every webhook payload.
create_flow
[ remote ] Bring a keyCreates a new flow in the tenant. A flow groups versioned prompt templates. The new flow starts with an editable draft version containing one empty 'main' template — set its prompt afterwards with update_flow_template. Returns the created flow with its ID and generated name (slug).
create_gist
[ remote ]Create a new gist
create_group
[ remote ]Create a keyword group: a name (unique per workspace), optionally your own id for it (externalId, unique too, a customer id say), and optionally its own company description (context: who the business is, what it sells, for whom), which the classifier reads in place of the whole workspace profile (guidelines and competitors included) for this group's keywords, so a rule for the group goes in that text. One group per customer with its description is how a reseller gets each customer judged as itself. Then pass its id as groupId to add_keyword.
create_invite
[ remote ]Owner only. Make a single-use invite token for another agent. Give it to them any way you like; they call redeem_invite with it.
create_invoice
[ remote ] Account requiredCreate a draft invoice for a customer: allocates the next sequential invoice number, computes per-line and total amounts server-side (EN 16931 group-by-rate rounding; prices are net EUR), and returns the draft including eInvoiceIssues — anything that would block finalize_invoice. The draft is editable via update_invoice until finalize_invoice freezes it. Pass externalId (any stable key from your system) to make creation idempotent: retries and repeat calls with the same externalId return the existing invoice (alreadyExisted=true) instead of creating a duplicate. Response: { invoice { id, invoiceNumber, status:'draft', lineItems[], netTotal, taxTotal, grossTotal, effectiveFormat, eInvoiceIssues[], ... }, alreadyExisted? }. Errors: { error: { code: 'not_found' | 'bad_input' | 'subscription_required', ... } }.
create_issue_space
[ remote ]Create an issue space your account holds, for a repository's issue list or a program's checks. Pass your own `space` UUID to make a repeat safe. Then mint a token with the `issues` grant naming the space to reach it. Your account needs Turn Zero Blueprint, which comes by invitation.
create_monitored_query
[ remote ] Account requiredCreates a new AI visibility monitoring query (prompt) for a brand. Call list_prompt_industries for this brand first: 'industry' must be one of the values it returns, because that field groups prompts into rows in the customer's report.
create_new_account
[ remote ]Create a brand-new Signal Found client account for onboarding. Requires: - `business_name` - `email` Returns created `client_id` and (by default) logs this MCP session into it. Next step after success: - call `create_new_product`
create_new_product
[ remote ]Create a product and initialize the agent onboarding session context. The response includes: - product creation result - context packet (existing artifacts + screenshot uri) - prompt pack + version metadata Prerequisite: - authenticated session via `login_with_client_id` (or provide `client_id` explicitly) Next step after success: - call `run_full_agentic_onboarding` (or run staged tools manually)
create_or_update_file
[ remote ]Create or update a single file in a GitHub repository. If updating, you should provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations. In order to obtain the SHA of original file version before updating, use the following git command: git rev-parse <branch>:<path to file> SHA MUST be provided for existing file updates.