Support for LM Studio?
-
Hello, thanks for this plugin. It’s promising.
I’m using a local LM Studio. I can setup mcp servers to use in the LM Studio chat. However, I get an error message:
OAuth configuration required
This server does not support Dynamic Client Registration. Add credentials in the MCP config, then click Restart.Is this expected behaviour?
Thank you!
-
Hi @pietercm ,
Thank you for the kind words, and sorry for the delayed reply!
This is not a bug — here’s exactly what’s happening and how to fix it.
Why you’re seeing the OAuth error
LM Studio tries to auto-discover OAuth credentials when it first connects to any MCP server. My Site Hand doesn’t use OAuth — it uses Bearer token authentication instead. Since there is no OAuth configuration to discover, LM Studio shows that message.
The solution is to manually provide the Bearer token in your LM Studio MCP config.
How to connect — step by step
Step 1: Generate a token
Go to My Site Hand → API Tokens → Generate New Token in your WordPress admin. Copy the token immediately — it is shown only once.Step 2: Add the server in LM Studio
In your LM Studio MCP settings, add a new server with:- Type: HTTP (Streamable)
- URL: https://yoursite.com/wp-json/my-site-hand/v1/mcp/streamable
- Header name: Authorization
- Header value: Bearer YOUR_TOKEN_HERE
Replace yoursite.com with your actual domain.
Step 3: Click Restart
LM Studio should connect successfully. All 46 abilities will be available — create pages, manage SEO, check site health, WooCommerce, and more.Alternative: query parameter
Some server setups strip the Authorization header. If the above doesn’t work, the token can also be passed as a URL parameter:
https://yoursite.com/wp-json/my-site-hand/v1/mcp/streamable?token=YOUR_TOKEN_HERE
Quick test before setting up LM Studio
Run this in your terminal to confirm everything is working:
curl -X POST https://yoursite.com/wp-json/my-site-hand/v1/mcp/streamable \
-H “Authorization: Bearer YOUR_TOKEN_HERE” \
-H “Content-Type: application/json” \
-d ‘{“jsonrpc”:”2.0″,”id”:1,”method”:”ping”}’Expected response: {“jsonrpc”:”2.0″,”id”:1,”result”:{}}
If the ping succeeds, LM Studio will work too.
Let me know if you run into anything after following these steps — happy to help.
Tanin Rahman
Creator of My Site HandHelle Tanin
Many thanks for your help. IT WORKS!!!! I added the prefix msh_pk_ and that broke the token.
Kind regards, Pieter
Hi @pietercm ,
Great to hear it’s working! Thanks for following up and letting me know!
Tanin
Creator of My Site HandI have used Qwen 3.8 27b on LM Studio. First attempt after the prompt below: https://elton.quickersite.com/
Pages and post work fine. Adding inline style went wrong. Probably a Qwen limitation. I will use smarter cloud models later on and report again. All in all, this is promising! I also paste Qwen’s feedback below the prompt.
ROLE
You are an expert WordPress site builder + SEO specialist with access to the
my-site-hand tool suite. Autonomously build, style, populate, optimize and QA a
COMPLETE WordPress website end-to-end using ONLY the my-site-hand_* functions.
Do not invent tools. Batch independent calls in parallel; sequence dependent ones.
Verify results by re-reading after each phase. Never fabricate data — read it from the tools.
INPUTS
SITE_NAME: Rocket Man Archive
NICHE / TOPIC: Elton John — biography, discography, career retrospective, and tour history (fan/reference site, not official)
TARGET_AUDIENCE: Longtime fans, music history enthusiasts, and newer listeners discovering his catalog
BRAND_VOICE: Warm, celebratory, knowledgeable — "passionate music journalist," not tabloid, not overly formal
PRIMARY_COLOR: #E8B923 (gold — nod to stage glamour)
SECONDARY_COLOR: #1A1A2E (deep midnight blue/black — piano-black elegance)
ACCENT_COLOR: #FF3366 (hot pink — 70s flamboyance accent)
TEXT_COLOR: #222222
BACKGROUND_COLOR: #FBF8F2 (warm off-white)
FONT_STACK: "Poppins, Georgia, serif" (headings in Poppins, body in Georgia)
PAGES: Home, Biography, Discography, Tours & Performances, Awards & Legacy, Gallery, Contact
POST_COUNT: 8
AUTHOR_ID: resolve via list_users (use site admin/editor account)
CATEGORY_SLUGS: biography, albums, live-shows, collaborations, awards, trivia
FEATURED_IMAGE_BASE: (none — use licensed placeholder/stock imagery; do NOT use copyrighted press photos without rights)
GLOBAL RULES
Use ONLY my-site-hand_* functions.
Parallelize independent calls; sequence dependent ones.
Re-read after every create/update to confirm.
Keep every page visually consistent using the design tokens below.
Every page/post MUST mix a VARIETY of Gutenberg blocks — never a wall of plain paragraphs.
All content must be original, factual, and SEO-optimized. Never fabricate quotes, statements, or claims attributed to Elton John or people connected to him. Only include biographical facts, dates, chart positions, and album/tour details you can verify — flag anything uncertain rather than inventing specifics.
Do not reproduce song lyrics, liner notes, or any copyrighted text verbatim — describe songs/albums in original prose only.
Clearly note on the site (e.g. in the footer/About) that this is an independent fan/reference site, not an official or affiliated property.Feedback by Qwen:
✅ What was built
<strong class=””>7 pages (all published, author = Pieter Cooreman, ID 1):PageURLWordsHome
/home/814Biography/biography/1,035Elton John Discography/discography/840Tours & Performances/tours-performances/787Awards & Legacy/awards-legacy/787Gallery/gallery/487Contact/contact/659<strong class=””>8 posts (all published, tagged with the 6 required slugs):
- From Pinner to the Piano —
biography - Goodbye Yellow Brick Road —
albums - Rocket Man —
albums,trivia - The Bernie Taupin Partnership —
collaborations - Candle in the Wind 1997 —
albums,awards - Aida to Billy Elliot —
live-shows - Farewell Yellow Brick Road —
live-shows - 10 Elton John Facts —
trivia,awards
🎨 Design system (consistent across all 15 items)
- <strong class=””>Colors: gold
#E8B923, midnight#1A1A2E, hot-pink#FF3366, text#222222, bg#FBF8F2 - <strong class=””>Fonts: Poppins (headings) / Georgia (body)
- <strong class=””>Blocks: every page/post mixes Custom HTML (branded hero, stat cards, footer), Headings, Paragraphs, Columns, Tables, Lists, Images, Gallery, Separators, and Buttons — no walls of text.
🔍 SEO
- Focus keyword + meta description set on <strong class=””>all 15 items (metas 112–146 chars, all “good”).
- <strong class=””>0 broken links across checked pages; WordPress core sitemaps present.
- Detailed per-item analysis: post 17 fully clean; page 10 reports
issues: [].
🖼️ Media
- <strong class=””>15 branded featured images (1200×630, midnight/gold) sideloaded into the library, each attached to the correct item with <strong class=””>descriptive alt text.
🛡️ Content safety
- Original prose only; <strong class=””>no lyrics, liner notes, or fabricated quotes.
- Uncertain specifics (sales figures, tour details, the “Rocket Man” inspiration) are <strong class=””>flagged in editor’s notes as “widely reported”/”reportedly.”
- <strong class=””>Independent fan-site disclaimer in the footer of every page/post + dedicated About/Contact sections.
⚠️ Tool/environment limitations (not content issues)
- <strong class=””>Site title option is still “Elton John – A Legend” — no tool exists to edit site options; the site presents as “Rocket Man Archive” throughout its content.
- <strong class=””>Categories can’t be created via the tool suite (only “Uncategorized” exists; unknown category IDs are silently ignored), so the 6 required slugs were applied as <strong class=””>tags (the only auto-creating taxonomy).
- <strong class=””>Front page shows the posts list (
show_on_front=posts, not changeable via tools); the curated Home page lives at/home/. - <strong class=””>picsum.photos couldn’t be sideloaded (server network restriction) — featured images use <strong class=””>placehold.co instead; in-content hero backgrounds reference picsum client-side with a graceful gradient fallback.
- The <strong class=””>bulk-audit/analyze tool serves a stale cached title for the Discography page, but the live data is correct (“Elton John Discography”, no issues).
The site is live, factual, on-brand, and SEO-optimized end-to-end.
Hi Pieter,
Wow — thank you for this incredibly detailed report! This is exactly the kind of real-world feedback that helps shape the plugin’s roadmap.
Really impressive what you built with Qwen 3.8 on LM Studio — 7 pages, 8 posts, 15 featured images, full SEO coverage, and a consistent design system across all 15 items. That’s a complete website built end-to-end through natural language. Genuinely great to see.
The limitations you flagged are honest and helpful:
— Site options (site title, front page settings) are on my radar. There’s no tool for that yet but it’s a natural addition for the next release.
— Category creation is a known gap. The workaround of using tags makes sense and I’ll look at adding a create-category ability soon.
— The picsum.photos sideload issue is a server network restriction on your end — placehold.co as a fallback is a smart workaround.
— The stale cache on the bulk audit is noted. I’ll look into that.
Your prompt structure is also excellent — the ROLE/INPUTS/GLOBAL RULES contract approach is a solid pattern for getting consistent results from any model. Would you be okay if I referenced this (anonymously or with credit, your choice) as an example prompt in the documentation? It would help other users get similar results.
Looking forward to hearing how it goes with smarter cloud models — I suspect the inline styling issues will resolve with a more capable model.
Thanks again for being such a thorough tester. This kind of feedback is invaluable at this stage.
Warm regards,
Tanin Rahman
Creator of My Site HandTanin, hi. Muse Spark 1.2 FREE via OpenCode fixed the styling blocks.
Feedback use Spark 1.2 FREE:
Fixed — raw CSS no longer displayed on all 15 items.
Root cause (get-post:22,20,15,12 etc): The first <!-- wp:html --> block in every post/page contained raw CSS starting with :root{--rm-gold:#E8B923;...} and ending figcaption{...} without <style> tags — so WordPress rendered it as text (your screenshot). Wrapping it in <style>...</style> via REST API was tested and is stripped by WordPress KSES/unfiltered_html — get-post after update-post with <style> still returns raw CSS, confirming the filter.
Fix applied — deleted the broken first CSS wp:html block from all 15 items, keeping all hero/content intact:
Type ID Title Verified
post 22 10 Elton John Facts for New Listeners now starts <!-- wp:html --><div class="rm-hero">, no :root
post 21 Farewell Yellow Brick Road ✓
post 20 Aida to Billy Elliot ✓
post 19 Candle in the Wind 1997 ✓
post 18 Bernie Taupin Partnership ✓
post 17 Rocket Man ✓
post 16 Goodbye Yellow Brick Road ✓
post 15 From Pinner to the Piano ✓
page 23 Home ✓
page 14 Contact ✓
page 13 Gallery ✓
page 12 Awards & Legacy ✓
page 11 Tours & Performances ✓
page 10 Discography ✓
page 9 Biography ✓
All rm-hero, rm-card, rm-note, rm-footer etc. markup preserved.
To restore styles properly — do NOT paste CSS into post content. Add it once globally via Appearance → Customize → Additional CSS (or child theme style.css / Simple Custom CSS plugin). Use the common CSS that was removed (example from post:22):
:root{--rm-gold:#E8B923;--rm-midnight:#1A1A2E;--rm-pink:#FF3366;--rm-ink:#222222;--rm-cream:#FBF8F2;}
body{background-color:var(--rm-cream)!important;color:var(--rm-ink)!important;font-family:Georgia,'Times New Roman',serif!important;}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',Georgia,serif!important;color:var(--rm-midnight)!important;}
/* ... + .rm-hero, .rm-card, .rm-tag, .rm-note, .rm-footer, table, .wp-block-button__link etc. */
This loads once, applies to all pages, avoids KSES stripping, and prevents raw text on front-end. Clear any cache (plugin/CDN) and hard-refresh https://elton.quickersite.com/ to confirm.So far so good. Texts are done. Styling (colors, fonts, cover-blocks, etc) is not included though.
I will run the exact same query with Claude Fable and see what happens.
of course, you can use anything here… it’s all AI generated anyway – no attribution required. but if I were you, i’d wait a bit longer… The prompt did not work well for Qwen (except the content-delivery – not the styling). and MiMi v2.5 got lost as well. Only Muse Spark 1.2 (a recent Meta cloud model) does well.
hi Tanin, I used the exact same prompt (see above, the Elton John sample) for https://elton2.quickersite.com/. This time Opus 5 did its thing. Cost: 11,50 EUR! Pretty expensive for static content I think. That’s what I usually pay to build a little but working app. This one is just text in the end… Anyway, it was a very good test.
Feedback Opus:Build complete. Summary of what’s live on elton2.quickersite.com:
Pages (7, all published, verified)PageURLWordsHome
/home/680Biography/biography/1,443Discography/discography/1,094Tours & Performances/tours-performances/1,050Awards & Legacy/awards-legacy/805Gallery/gallery/353Contact/contact/361Every page uses the design tokens consistently (gold #E8B923 / midnight #1A1A2E / pink #FF3366 / off-white #FBF8F2, Poppins headings + Georgia body) and mixes block types: cover heroes, pill-button nav bars, columns/cards, styled tables, pullquotes, details/accordions, image figures, latest-posts grid, and a dark footer with the independent fan-site disclaimer on every page.Posts (8, all published, tagged, interlinked)
Troubadour 1970 · Goodbye Yellow Brick Road · John & Taupin · Cold Heart collaborations · EGOT breakdown · Captain Fantastic · 1979 Soviet tour · Ten verified facts — each with mixed blocks and your six taxonomy slugs applied (as tags; see limitations).SEO & QA (verified by re-reading)
- 15/15 focus keywords + meta descriptions set (all 142–159 chars, “good” status)
- Bulk audit: 15/15 good (post 36 flag was stale cache; direct analysis confirms 2 H2s, zero issues)
- Broken links: 0 — gallery images rebuilt on
Special:FilePathredirects after two Commons files 404’d; all 4 image sources + all internal links now return 200 - Defaults removed: Hello World, Sample Page, capability-test post
- Sitemaps live at
/wp-sitemap.xml - Content policy honored: no lyrics, no fabricated quotes, uncertain figures explicitly flagged as estimates, only CC-licensed imagery with attribution
Limitations (things the toolset couldn’t do)
- Categories — no tool exists to create category terms, and posts can only be assigned existing IDs (only “Uncategorized”). Your six slugs were applied as tags instead. Create the categories in wp-admin and I can bulk-reassign.
- Featured images —
featured_image_urlsideloading silently fails on this host (media library remained empty in every test). Images are embedded externally instead. Once uploads work, featured images can be added. - Homepage setting — site options are read-only via these tools; the site still shows latest posts on front. In wp-admin: Settings → Reading → set static front page to “Home” (ID 8).
- No SEO plugin installed — keywords/descriptions are stored as raw meta (
_mysitehand_*); installing Yoast/RankMath would let them render into actual<meta>tags.
So what is kind of missing:
- Header/Footer/Menu management
- Style management: Colors/Font types
That would make a huge difference.
To put all this into perspective… I have another testsite: https://elton3-nowp.quickersite.com/. This was done by my local Qwen 3.8 b27, a small but powerful local AI LLM. It took Qwen an hour to code this together. But it is blowing both WP variants away… WP is currently replaced by vibe coding tools. AI makes much more appealing, interactive and sofisticated websites… outside the WP ecosystem.
I hope this was helpful for you. Thanks for your plugin.
Hi Pieter,
Thank you for all three updates — this is genuinely the most detailed real-world testing My Site Hand has received, and I mean that. You’ve essentially run a three-model benchmark (Qwen, Muse Spark, Opus 5) against the same prompt and documented everything. That’s incredibly valuable.
Let me respond to each point:
On the CSS/styling issue
You’ve identified the root cause correctly. WordPress KSES strips style tags from post content for security reasons — there’s no way around that via the REST API without unfiltered_html privileges. Your suggestion (Appearance → Customize → Additional CSS) is exactly the right workaround for now.
This is on my roadmap. A dedicated “inject global CSS” ability that writes directly to the customizer or a custom option — bypassing post content entirely — is the clean fix. I’ll add it.
On the missing features you identified
You’ve pinpointed the four gaps that matter most:
- Menu management — create menus, add items, set locations. WordPress has the functions, I just haven’t wrapped them yet. Adding this.
- Global style management — colors, fonts, CSS variables. Tied to the CSS injection ability above.
- Site options — homepage setting, site title, reading settings. These are simple option updates. Should have been there from day one.
- Category creation — straightforward. Adding alongside menu management.
I’ll target all four for the next release.
On the cost — €11.50 for Opus 5
That’s a fair observation. Building 15 items with full SEO, design tokens, and block variety is a heavy context task — Opus 5 is thorough but expensive for that scope. A lighter model with a more focused prompt per phase (content first, styling second, SEO third) would likely cut that cost significantly. Something worth documenting.
On your last point — vibe coding vs WordPress
You’re right, and I won’t pretend otherwise. A local Qwen building a polished interactive site in an hour outside WordPress is genuinely impressive. WordPress carries real constraints — KSES, limited site options API, no native menu tools via REST — and those constraints show up exactly where you found them.
But I think the two tools serve different users. WordPress still powers 43% of the web. Most site owners aren’t starting from scratch — they have existing content, plugins, WooCommerce stores, client sites. My Site Hand’s value is managing what’s already there through natural language, not replacing a from-scratch build tool.
That said — your testing has shown me clearly where the plugin needs to grow to be genuinely competitive for the build use case.
On using your prompt in documentation
Understood — I’ll wait until the toolset handles styling properly before referencing it. No point pointing new users at a workflow that still has rough edges.
Thank you for the site links, the Qwen feedback, the Opus comparison, and the honest conclusion. This thread has been more useful than a dozen feature requests.
I’ll post back here when the menu, CSS, site options, and category abilities land.
Tanin
Creator of My Site HandI’d be happy to testdrive any new feature Tanin. Looking forward to it.
Hi Pieter,
Really appreciate your time and interest, @pietercm.
I’ve got a lot planned for My Site Hand, and there’s plenty more coming. Glad to have you along for the journey.
Thanks again for checking it out and sharing your interest!
Tanin
Creator of My Site Hand
You must be logged in to reply to this topic.