Getting Started

AI Agents on Your CMS: LaraDashboard MCP for Cursor and Claude

By Lara Dashboard 1 view
You already draft in Cursor or Claude. Then you open the CMS admin, paste HTML, hunt for the right status, and hope the featured image path is right. The agent wrote the words. You still did the busywork.
This guide is about connecting AI coding agents (Cursor, Claude Desktop, and similar MCP clients) to a real Laravel CMS through LaraDashboard MCP. It is not another "MCP makes everyday work easier" overview. For the general human-in-the-loop pattern, see our earlier post on MCP for everyday ops. Here we stay on content ops with named tools: create and update posts, list tickets, work contacts, and keep a human gate on publish.
Disclosure: LaraDashboard is our open-source Laravel admin and CMS. We ship an MCP server with tools for posts, media, tickets, CRM, forms, and ops. We recommend it when you want agents talking to your CMS through named tools and permissions, not through brittle copy-paste. We say so when a claim is about LaraDashboard specifically.

The short answer

MCP (Model Context Protocol) lets an agent discover tools with schemas and call them. Cursor and Claude act as clients. Your LaraDashboard instance exposes a server. The agent can draft a post into pending status, list open tickets, or pull a daily briefing without you leaving the editor.
Safer ops mean the agent prepares. You approve anything that goes live: publish, send email, delete, or attach media you have not checked. Token abilities and Laravel permissions still apply. An agent is not a superuser because it talks MCP.
Vs ChatGPT paste workflows: paste is fine for a one-off rewrite. It fails when you need post IDs, term IDs, ticket threads, or a consistent status flow. MCP keeps the agent on the same records your admin uses.

What you connect: client, server, token

Three pieces matter in practice.
  1. MCP client. Cursor, Claude Desktop, or another host that speaks MCP. The client lists tools and sends calls.
  2. MCP server. LaraDashboard exposes tools grouped by Content, CRM, Forms, Email, Operations, and Discovery. Each tool has a name, description, and parameter schema.
  3. Auth. You create an MCP token with abilities (for example mcp:posts.read, mcp:posts.write, mcp:crm.tickets.read). Laravel permissions on the user still gate actions like post.create or ticket.edit.
If a tool is missing, check installed modules and token abilities with discovery tools such as list-mcp-tools, list-modules, and get-site-health. Do not assume every demo screenshot matches your install.

Prose cheat sheet: agent CMS vs paste chat

Compare the job shapes teams actually run:
  • Draft a blog post: Agent calls create-post with title, HTML content, excerpt, and status=pending vs you paste into the editor by hand.
  • Revise before publish: Agent calls update-post on a known post_id vs you hunt the draft in the admin list.
  • Assign category: Agent calls assign-post-terms with term IDs from list-terms vs you click category checkboxes.
  • Triage support: Agent calls list-tickets / get-ticket / reply-ticket vs you open the ticket UI and retype context into chat.
  • CRM follow-up: Agent lists contacts or deals, then drafts a note via activity tools vs you copy CRM fields into a chat window.
  • Ops pulse: Agent calls get-daily-briefing or get-site-health vs you open five admin menus before standup.
  • Failure mode: Wrong tool params return schema errors you can fix vs silent paste mistakes that ship bad HTML.
Use this sheet when someone asks "why not just ChatGPT?" Paste chat has no post ID. MCP does.

Content tools agents use every week

These Content tools show up in real editorial loops on LaraDashboard MCP:
  • list-posts and get-post for inventory and QA
  • create-post for draft or pending posts (title + HTML content, or topic-based generation when you choose that path)
  • update-post for content, excerpt, title, status, and publish date
  • assign-post-terms after list-terms so categories and tags stay consistent
  • generate-seo-meta when you want a suggested meta title and description (still review soft marketing language)
  • Media tools exist (list-media, upload-media, multipart upload helpers, attach-featured-image). Treat media attach as a human-gated step when storage or CDN is flaky. Prefer preparing a local hero and uploading in the media library when your team has that rule.
A practical pattern that works:
  1. Agent drafts Markdown locally (your repo or workspace).
  2. You convert to clean HTML (or the agent does under review).
  3. Agent creates the post as pending or draft with include_images=false when you do not want AI header images.
  4. SEO pass and human review happen on the pending post.
  5. Only after approval does someone (or the agent, with your explicit go-ahead) set status=published.
That is human-in-the-loop content ops. The agent speeds the boring parts. You keep the publish button.
Tickets and CRM tools (list-tickets, reply-ticket, list-contacts, list-deals, form submission helpers) follow the same rule: read freely, write only with confirmation. Ops tools such as get-daily-briefing, get-site-health, and clear-cache help standup and maintenance. Expect payload size limits on huge HTML, soft SEO suggestions from generate-seo-meta, and title-derived slugs. Record live_slug after publish.

What agents can do safely

Safe by default when tools and tokens are scoped:
  • Read lists and single records
  • Create pending or draft posts
  • Update draft content before publish
  • Draft ticket replies as internal notes first
  • Pull get-daily-briefing for standup
  • Clear cache only when you asked for a config or module change
  • Discover tools with list-mcp-tools before guessing names
Safer still when you write team rules:
  1. Never publish without a human "yes" in the thread.
  2. Never delete posts or media unless named and confirmed.
  3. Never send email or public ticket replies without a quoted preview.
  4. Prefer include_images=false unless you want generated headers.
  5. Log post_id, slug, and status in the PR or chat so QA can WebFetch the live URL.

What agents should not do alone

Do not let an unsupervised agent:
  • Flip many posts to published in one loop
  • Attach featured images to older posts "to clean up the blog"
  • Invent metrics, customer quotes, or changelog numbers
  • Bypass Spatie roles by using a god-token for every person
  • Call destructive ops because a prompt said "fix it"
  • Treat MCP as a substitute for your REST API design when you need a public product API (see Sanctum and Scramble for API-first work)
MCP tools honor abilities and permissions, but a too-wide token is still a too-wide token. Scope tokens like you scope deploy keys.

Cursor versus Claude for CMS work

Both can be MCP clients. The useful differences are workflow habits, not protocol magic.
Cursor fits when the draft lives next to code: article Markdown in a repo, hero scripts, PLAN.json, editorial notes. The agent edits files, runs local converters, then calls MCP to create the pending post. Good for teams who already review content in pull requests.
Claude Desktop (and similar chat-first hosts) fits when the operator lives in conversation: "list open high-priority tickets," "draft a reply for ticket 42," "create a pending post from this outline." Good for ops desks that do not want a full IDE open.
Either way, the LaraDashboard tool surface is the same. Pick the client your team will actually leave open. Switch clients without rewriting the CMS.

Vs generic ChatGPT paste: a concrete day

Without MCP, a typical publish day looks like this:
  1. Outline in chat
  2. Paste draft into Docs or the CMS
  3. Fix formatting that broke on paste
  4. Open admin to set category and excerpt
  5. Open tickets in another tab for a related support note
  6. Forget which draft was the latest
With LaraDashboard MCP in Cursor or Claude:
  1. Outline and draft in the agent with your style rules open
  2. Agent creates pending post via create-post
  3. You review in admin or via get-post
  4. Agent assigns Getting Started (or your category) via assign-post-terms
  5. Agent lists related tickets if the post answers support themes
  6. You publish after review, or ask the agent to set published with an explicit approve
You still write. You still judge tone. You skip the scavenger hunt.

FAQ

Is LaraDashboard MCP the same as a public REST API?

No. MCP is for assistant clients with tool schemas. A public product API still wants Sanctum (or similar), versioning, and docs such as Scramble. Use MCP for operator agents. Use REST for apps and integrations that are not chat clients.

Can the agent publish without me?

Only if your token allows publish and you (or your client settings) allow the call. We recommend pending first, human review, then publish. Treat unsupervised publish as a process smell.

Does this work if we still use WordPress somewhere?

MCP on LaraDashboard does not control wp-admin. If you are mid-migration, keep WP editorial separate until cutover. Use the CMS you are actually operating that day.

What about Claude Projects or custom GPTs with Actions?

Those are different glue layers. MCP is an open protocol many coding agents adopt. LaraDashboard's investment is MCP tools on the Laravel CMS. Compare hosts on whether they speak MCP cleanly and whether your team will use them daily.

Will agents replace our editors?

No. Agents draft, list, and prep. Editors own voice, accuracy, disclosure, and publish. The win is fewer tabs and fewer paste bugs, not zero humans.

How is this different from your everyday MCP post?

That piece explains MCP and human-in-the-loop in general terms. This piece is the Cursor/Claude plus LaraDashboard CMS playbook: named content/CRM tools, publish gates, and how coding agents fit editorial pipelines.

Final verdict

If your team already writes in Cursor or Claude, connecting those agents to LaraDashboard MCP is a practical next step. You get pending posts, ticket context, and CRM reads without turning ChatGPT into a copy-paste modem. You keep humans on publish, send, and delete.
Skip MCP if you publish once a month and paste is fine. Adopt it when content and support share one Laravel CMS and tab-hopping is the tax you pay every day.
If you want that Laravel admin and CMS path with MCP tools for agents, try LaraDashboard. Start from what is LaraDashboard, connect a least-privilege token in Cursor or Claude, create one pending post on purpose, and only then wire publish into your editorial checklist.

Try Lara Dashboard for Free

Explore every feature live — no sign-up required.

Launch Live Demo