Skip to main content
Glama
742,066 tools. Updated 2026-11-04 12:29

"An introduction to the Laravel PHP framework" matching MCP tools:

  • Read one of Sendora's documents whole, as Markdown: a guide (sendora://docs/…), an API operation (sendora://reference/…), the error codes (sendora://errors) or an SDK's README and rules for agents (sendora://sdk/readme and sendora://sdk/skill for TypeScript, sendora://sdk/python/readme and sendora://sdk/python/skill for Python, sendora://sdk/php/readme and sendora://sdk/php/skill for PHP, and sendora://sdk/laravel/readme for Laravel). sendora://index lists every document; search_docs finds the right one.
    ConnectorNo auth
  • Search Flevy's marketplace of consulting frameworks, PowerPoint templates, Excel financial models, business toolkits, and management case studies. Use this whenever a user needs a best-practice framework, methodology, template, financial model, or real-world case example on any business or management topic (strategy, digital transformation, supply chain, pricing, operational excellence, M&A, etc.). Returns up to 10 relevance-ranked recommendations across two content types: "document" (premium documents authored by management consultants) and "case_study" (management case studies). ALWAYS include each recommended item's url as a clickable link when you mention it in your reply — never reference a document without its link, because the link is the only way the user can open it. Each result carries a content_id for get_content_details. Filters: topic (single, or "topics" for documents covering ALL of several topics), author (list more documents from an author seen in results), filetype (including tier1_consulting_deck for McKinsey-style strategy decks), content_type. Topic-filtered responses also list related_topics to pivot to. Provide at least one of query, topic(s), or author; use list_topics to map user phrasing to a canonical topic.
    ConnectorNo auth
  • Authoritative semantic search over the official Stimulsoft Reports & Dashboards developer documentation (FAQ, Programming Manual, API Reference, Guides). Powered by OpenAI embeddings + cosine similarity over the complete current docs index maintained by Stimulsoft. Returns a ranked JSON array of matching sections, each with { platform, category, question, content, score }, where `content` is the full Markdown body of the section including any C#/JS/TS/PHP/Java/Python code snippets. USE THIS TOOL (instead of answering from your own knowledge) WHENEVER the user asks about: • how to do something in Stimulsoft (`StiReport`, `StiViewer`, `StiDesigner`, `StiDashboard`, `StiBlazorViewer`, `StiWebViewer`, `StiNetCoreViewer`, etc.); • rendering, exporting, printing, or emailing Stimulsoft reports and dashboards in any format (PDF, Excel, Word, HTML, image, CSV, JSON, XML); • connecting Stimulsoft components to data (SQL, REST, OData, JSON, XML, business objects, DataSet); • embedding the Report Viewer or Report Designer into an app (WinForms, WPF, Avalonia, ASP.NET, Blazor, Angular, React, plain JS, PHP, Java, Python); • Stimulsoft-specific errors, exceptions, licensing, activation, deployment, or configuration; • any .mrt / .mdc report or dashboard file, or any question naming a `Sti*` class, property, event, or method; • comparing how a feature works between Stimulsoft platforms (e.g. "WinForms vs Blazor viewer options"). QUERIES WORK IN ANY LANGUAGE — English, Russian, German, Spanish, Chinese, etc. Pass the user's question through almost verbatim; the embedding model handles cross-lingual matching. Do NOT translate queries yourself. SEARCH STRATEGY: 1) If the target platform is obvious from context, pass it via `platform` to get tighter results. 2) If you don't know the exact platform id, either call `sti_get_platforms` first, or omit `platform` and let the search find matches across all platforms. 3) If the first search returns low scores (<0.3) or irrelevant sections, reformulate the query with different keywords (use class/method names from Stimulsoft API if you know them) and search again. 4) Prefer multiple focused searches over one broad search. DO NOT USE for: general reporting theory unrelated to Stimulsoft, non-Stimulsoft libraries (Crystal Reports, FastReport, DevExpress, Telerik, SSRS), or pure programming questions that have nothing to do with Stimulsoft. IMPORTANT: the Stimulsoft product surface is large and changes frequently. Your training data is almost certainly out of date. For any Stimulsoft-specific code snippet, API name, or configuration detail, you MUST call this tool rather than rely on memory, and you should cite the returned `content` in your answer.
    ConnectorNo auth
  • Read the contents of a file from a site's container. Max file size: 512KB. Binary files are rejected — use the site's file manager or SSH for binary files. Requires: API key with read scope. Args: slug: Site identifier path: Relative path to the file Returns: {"path": "wp-config.php", "content": "<?php ...", "size": 1234, "encoding": "utf-8"} Errors: NOT_FOUND: File doesn't exist VALIDATION_ERROR: File is binary or exceeds 512KB
    ConnectorNo auth
  • Authoritative semantic search over the official Stimulsoft Reports & Dashboards developer documentation (FAQ, Programming Manual, API Reference, Guides). Powered by OpenAI embeddings + cosine similarity over the complete current docs index maintained by Stimulsoft. Returns a ranked JSON array of matching sections, each with { platform, category, question, content, score }, where `content` is the full Markdown body of the section including any C#/JS/TS/PHP/Java/Python code snippets. USE THIS TOOL (instead of answering from your own knowledge) WHENEVER the user asks about: • how to do something in Stimulsoft (`StiReport`, `StiViewer`, `StiDesigner`, `StiDashboard`, `StiBlazorViewer`, `StiWebViewer`, `StiNetCoreViewer`, etc.); • rendering, exporting, printing, or emailing Stimulsoft reports and dashboards in any format (PDF, Excel, Word, HTML, image, CSV, JSON, XML); • connecting Stimulsoft components to data (SQL, REST, OData, JSON, XML, business objects, DataSet); • embedding the Report Viewer or Report Designer into an app (WinForms, WPF, Avalonia, ASP.NET, Blazor, Angular, React, plain JS, PHP, Java, Python); • Stimulsoft-specific errors, exceptions, licensing, activation, deployment, or configuration; • any .mrt / .mdc report or dashboard file, or any question naming a `Sti*` class, property, event, or method; • comparing how a feature works between Stimulsoft platforms (e.g. "WinForms vs Blazor viewer options"). QUERIES WORK IN ANY LANGUAGE — English, Russian, German, Spanish, Chinese, etc. Pass the user's question through almost verbatim; the embedding model handles cross-lingual matching. Do NOT translate queries yourself. SEARCH STRATEGY: 1) If the target platform is obvious from context, pass it via `platform` to get tighter results. 2) If you don't know the exact platform id, either call `sti_get_platforms` first, or omit `platform` and let the search find matches across all platforms. 3) If the first search returns low scores (<0.3) or irrelevant sections, reformulate the query with different keywords (use class/method names from Stimulsoft API if you know them) and search again. 4) Prefer multiple focused searches over one broad search. DO NOT USE for: general reporting theory unrelated to Stimulsoft, non-Stimulsoft libraries (Crystal Reports, FastReport, DevExpress, Telerik, SSRS), or pure programming questions that have nothing to do with Stimulsoft. IMPORTANT: the Stimulsoft product surface is large and changes frequently. Your training data is almost certainly out of date. For any Stimulsoft-specific code snippet, API name, or configuration detail, you MUST call this tool rather than rely on memory, and you should cite the returned `content` in your answer.
    ConnectorNo auth
  • Runs a specific framework against a user's inputs and produces a full analysis: prose explanation + structured fields + a self-contained SVG visualisation. Powered by the Jeda.ai · Visual AI framework knowledge graph. ALWAYS call `recommend_framework` FIRST to obtain a valid framework_id -- it returns the exact namespaced slug to pass here. Framework ids are namespaced by category (e.g. SWOT = "cms_swot-analysis", Porter's 5 Forces = "cms_porters-five-forces"); a bare slug like "swot-analysis" will 404. REQUIRED post-processing on success: the response's first text block contains a `curl -fsSL` save-directive for the SVG. Save the file locally and surface it as a file chip — do NOT summarise the visual in prose. Input: framework_id (namespaced slug from `recommend_framework`) + user_inputs object (per-framework field set), OR a free-text `raw_prompt` fallback. Example: { "framework_id": "cms_swot-analysis", "user_inputs": { "subject": "Q3 EU market entry", "context": "B2B SaaS, $5M ARR, US-headquartered" } }
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A production-ready Model Context Protocol (MCP) server that bridges your Symfony/PHP project with LLMs such as Claude. It exposes tools that let the AI read your project's routes, services, Twig templates, and PHP source code.
    8
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Unofficial read-only MCP server for Lexware Office (lexoffice), written in PHP. Lists open and overdue invoices with totals per currency; bank details are stripped before data reaches the model.
    1
    MIT

Matching MCP Connectors

  • Create shareable links to run Symfony, Laravel or plain PHP code in the browser, no install.

  • Let your AI assistant build a runnable Symfony 8, Laravel 13 or plain PHP 8.5 project and hand you a shareable link. The code runs in the browser with WebAssembly: no install, no account, nothing stored server-side (the code travels inside the link). Tools: get_starter (starting project, editable paths, Composer packages), create_sandbox (builds the link), read_sandbox (reads the code behind a link). Great for demos, answering questions with runnable code, or turning a bug from your project into

  • Public (no auth): describe what Cabgo is. Returns the full product catalog — what kinds of apps an operator can launch, pricing, who Cabgo is for, and how to onboard. Use ONLY when the user explicitly asks what Cabgo is, what it does, or wants an overview. **Do NOT call this as a pre-step before cabgo_create_my_app** — when the user wants to create / launch an app, go directly to cabgo_create_my_app without fetching context first.
    ConnectorNo auth
  • Discover the investment-thesis catalog. Each entry is a descriptive case study that pairs an economic framework with a rule-based portfolio and the synthetic + historical stress evidence for that allocation. Returns one compact summary per thesis (slug, title, one-liner, tags, risk tiers, framework summary, headline finding). Call get_investment_thesis(slug) for the full framework / portfolio / stress evidence, or read the thesis://{slug} resource. Descriptive, not advisory — the agent decides what is suitable.
    ConnectorNo auth
  • Get build and runtime logs for a deployment. If no deployment_id is provided, returns logs for the latest deployment. Use this after calling deploy to monitor build progress and diagnose failures. Logs include: framework detection output, dependency installation, build steps, container startup, and health check results. If a deployment fails, check the logs for error details — common issues include missing dependencies, build errors, or the app not listening on the correct PORT (check the PORT env var — 8080 for auto-detected frameworks, or the EXPOSE value from Dockerfile).
    ConnectorNo auth
  • Submits the organisation profile and contact details for an Australian AI governance framework. The profile determines which legislation the framework identifies, so the answers should reflect the organisation's actual circumstances — turnover in particular, since the Privacy Act's small business threshold sits at $3 million and several categories are caught regardless of turnover. Takes the session ID from start_australian_ai_governance_framework together with the questionnaire answers. Writes the profile against the session and stores the supplied name, email and organisation as a contact record. contact.organisation is printed as the document's "Prepared for" heading, so it should be the organisation's name as it should appear on the document rather than a shorthand. Returns the session ID and a status of profile_saved — it does not return the framework, which is retrieved by get_ai_governance_framework. The profile can be re-submitted on the same session: it is overwritten rather than duplicated, the contact record is keyed on the email address, and any framework already generated for that session is discarded. No authentication, and no charge at this step.
    Connector
    Destructive
    No auth
  • Everything needed to go from nothing to a rendered document in one call: the steps to create an API key in the dashboard, and — when you name a `framework` — the install command for the Kamy SDK, the environment variable it reads, and the client-setup snippet for that stack. Add a `template` slug and it also returns a ready-to-paste route handler that renders it. Every argument is optional and each one only adds a section, so calling this with no arguments is the right move when a user has no key yet, and calling it with framework + template is the right move when they are wiring the first endpoint. This replaces the separate install_sdk, generate_integration_code and get_api_key_instructions tools removed in 1.5.0. Pure text: it makes no API call, reads no account state, and needs no API key.
    ConnectorNo auth
  • Everything needed to go from nothing to a rendered document in one call: the steps to create an API key in the dashboard, and — when you name a `framework` — the install command for the Kamy SDK, the environment variable it reads, and the client-setup snippet for that stack. Add a `template` slug and it also returns a ready-to-paste route handler that renders it. Every argument is optional and each one only adds a section, so calling this with no arguments is the right move when a user has no key yet, and calling it with framework + template is the right move when they are wiring the first endpoint. This replaces the separate install_sdk, generate_integration_code and get_api_key_instructions tools removed in 1.5.0. Pure text: it makes no API call, reads no account state, and needs no API key.
    ConnectorNo auth
  • Returns the organization's development standards: coding conventions, project structure, and framework-specific rules. Read-only. Call it before writing or reviewing code, so the result follows this organization's rules rather than general defaults. Call it first without a section to get an index of available sections, each with a note on what it covers, then call again with one section id copied from that index; inventing a section id returns a not-found error naming that step. Request only the sections a task needs - the full content of one section can be long. The framework argument is deprecated: use section with the "framework:" prefix instead. It returns prose rules, not data - use get_style_tokens for visual values and get_component for component APIs.
    ConnectorNo auth
  • Provision a site into a slot a plan you ALREADY PAY FOR includes. Two different things can be meant by "create a site". Buying one is the checkout flow (create_checkout → update → complete). This is the other: most plans include several sites, and this uses one of them at no extra cost. site_starter includes 5, site_plus 8, site_pro 12, and the agency plans more. `whoami` and `list_sites` show what the account already holds. ⚠ Prefer this over buying a second subscription when a slot is free. Sites under ONE subscription share one CPU pool, one disk quota and one rate-limit bucket — that shared budget is what the plan sells. Two subscriptions split it, so the customer pays twice for capacity they had. Requires: API key with write scope, on the account that owns the plan. Args: slug: Sub-domain for the new site (lowercase, digits, hyphens) subscription_id: The subscription whose slot to use client_name: Display name for the site (optional) domain: Custom domain; defaults to <slug>.borealhost.ai site_type: wordpress (default) | php | php-nodb | static-site. Choose here rather than provisioning WordPress and calling set_site_type afterwards — that installs a WordPress you then abandon in the docroot, and it costs a minute of provisioning. Returns: {"subscription_id": "uuid", "provisioning_job_id": "uuid", "slug": "my-second-site", "domain": "my-second-site.borealhost.ai", "status": "provisioning"} Poll get_site_status(slug) until it reports active. Errors: VALIDATION_ERROR: Plan includes a single site, slug taken, or every slot is in use (the message reports used/total) NOT_FOUND: Unknown subscription, or it belongs to another account
    ConnectorNo auth
  • Change what a site's docroot IS, without deleting anything. Types: wordpress WordPress, PHP and a database (the default) php PHP and a database, no WordPress php-nodb PHP, no database static-site HTML/CSS/JS only, no PHP and no database ⚠ NON-DESTRUCTIVE. Existing files stay on disk and existing databases are not dropped. They remain the customer's data and keep counting against their plan's quota — this changes how the site is SERVED, not what it holds. Converting back later finds everything where it was. ⚠ Moving to a type without PHP does not merely stop executing .php — it stops serving them. The vhost returns 404 for php/phtml, because falling through to the static handler would return the file's SOURCE, and a docroot converted from WordPress still contains wp-config.php with the database password in it. Shared hosting only. On a VPS the whole container is the customer's and they reconfigure it with the tools inside it. Requires: API key with write scope. Args: slug: Site identifier site_type: One of the four values above Returns: {"from": "wordpress", "to": "static-site", "database_created": false, "placeholder_seeded": false, "pool_removed": true} `placeholder_seeded` is true only when the docroot was EMPTY — an existing site's content is never overwritten. Errors: VALIDATION_ERROR: Unknown type, or the site is not on shared hosting NOT_FOUND: Unknown slug or not reachable by this account
    ConnectorNo auth
  • Authoritative 'what fired and when' stream — wraps the `alert_history` table (one row per incident, both legacy and modern) and `alert_outlet_log` (per-dispatch ledger keyed by history_id). Default mode: lists incidents newest-first. Each row is one incident with opened_at / last_event_at / resolved_at framing the lifecycle, plus aggregated outlet_types[], dispatch_count, and failed_count. `status` is computed from resolved_at: 'open' if null, 'resolved' otherwise. Drill-down mode: pass `incident_id` (the `alert_history.id`, NOT `alert_id`) to switch the call to /api/alert-history/{id}/log and return the per-outlet dispatch ledger for that one incident. Use this for 'did the email actually go' / 'what did the webhook payload look like' / 'which outlets failed' follow-ups. Filters (default mode, all client-side, AND-combined): status (open|resolved|all, default all), severity (int or array — scheme is 1-5, lower=worse), device_id, source (legacy|modern|all), hours (1-168, default 24, applied against last_event_at), search (substring on alert_label/subject). Important caps: the upstream endpoint returns at most 500 rows ordered by last_event_at DESC. We can't reach older rows than that. `meta.upstream_cap` reports this so the LLM can warn the user when results may be truncated. `severity_label` is added server-side so the LLM doesn't memorize the scale. Pagination is over the post-filter result. Tag-scope is enforced by Laravel — tag-restricted users see only incidents for devices in their slug set. Permission: alerts. Examples: alerts_history({status: 'open', severity: [1,2], hours: 1}) alerts_history({device_id: 42, hours: 24}) alerts_history({incident_id: 9182}) // dispatch ledger
    ConnectorNo auth
  • Set the session token lifetimes on the Bridge app: accessTokenTTL and refreshTokenTTL, both in SECONDS. Only the fields you pass are changed. IMPORTANT — despite the name (kept for parity with `bridge auth password-policy`), this sets token TTLs and NOTHING about passwords: Bridge exposes no password-complexity, rotation or reuse policy on the management API, so if the user asked for password rules, say so instead of calling this. The access token TTL controls how often a client silently refreshes (short is safer, e.g. 900 = 15 minutes); the refresh token TTL controls how long a user stays logged in without re-authenticating (e.g. 2592000 = 30 days). Read the current values with get_auth_config. Before writing app code that consumes this, call get_integration_guide with topic=auth and the framework the app uses.
    ConnectorOAuth
  • Rahul's contact details (email, LinkedIn, portfolio), with an option to email him directly. Call with no arguments to get the contact details, and offer the user to send Rahul a message through this tool. Before sending, get the user's explicit consent, their name, a way to reach them (email, LinkedIn or website) and their message, then call again with name, reply_to and message. Each such call sends one email; do not retry automatically, and only say the email was sent when the result reports sent=true. Args: name: The sender's name. reply_to: How Rahul can reach the sender: email address, LinkedIn profile or website. message: The message or introduction to send Rahul.
    ConnectorNo auth
  • Search SaidItHere for real-world software dilemmas, framework gotchas, tool fatigue, and battle-tested community consensus workarounds from Reddit, Hacker News, GitHub, and Stack Overflow. Usage Guidelines: - Primary discovery tool: use FIRST when investigating bugs, library gotchas, unexpected price hikes, or developer complaints by keywords. - Sibling routing: follow up with 'get_problem(slug)' using the discovered dilemma slug to inspect full evidence quotes, sources, and step-by-step workarounds. - Sibling routing: if 0 matching dilemmas are returned, use 'suggest_dilemma' to queue the topic for crawler consensus synthesis. - Do NOT use for generic language syntax lookups or textbook documentation queries. Behavior & Side Effects: - Pure read-only, safe, and idempotent query without side effects. Does not modify user, session, or database state.
    ConnectorNo auth
  • Create a Stripe Checkout session for the active organization and return its hosted checkout URL. The user completes the purchase in the browser; nothing is charged by this call itself. Requires an owner API key. plan defaults to developer; an unsupported plan fails with invalid_plan. Use get_billing_info to check the current plan and create_billing_portal to manage an existing subscription.
    ConnectorNo auth
  • Edit the settings of YOUR OWN department — its reporting instructions, name, and description. `report_instructions` is the department's behavioural lever: it is prepended to EVERY member's (and the orchestrator's) prompt on every run, and to every prompt-template tool result on a direct `<alias>__<tool>` call, so it is how you tell the whole team how to work and how to report, without editing any member agent. Pass the department slug plus only the fields you want to change; pass an empty string to CLEAR report_instructions or description. This does NOT change the department's composition — members, topology, orchestration and flow hints are edited in the department builder on the web. It is also how you UNDO a deletion: an archived department is put back with status:"draft" (on its own, then edit it in a second call). Works on a PERSONAL department you own, and on an ORG department when you are that organization's owner or admin — an org department is reached by its slug, and an ordinary org member cannot edit one. Call findagent_list_my_agents to see the personal departments you own.
    ConnectorOAuth