feat(web-mcp): add optional WebMCP resource/plugin, demo & tests#2599
feat(web-mcp): add optional WebMCP resource/plugin, demo & tests#2599ghiscoding wants to merge 10 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2599 +/- ##
=======================================
Coverage 100.0% 100.0%
=======================================
Files 199 200 +1
Lines 25168 25257 +89
Branches 8908 8941 +33
=======================================
+ Hits 25168 25257 +89
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
angular-slickgrid
aurelia-slickgrid
slickgrid-react
slickgrid-vue
@slickgrid-universal/angular-row-detail-plugin
@slickgrid-universal/aurelia-row-detail-plugin
@slickgrid-universal/react-row-detail-plugin
@slickgrid-universal/vue-row-detail-plugin
@slickgrid-universal/binding
@slickgrid-universal/common
@slickgrid-universal/composite-editor-component
@slickgrid-universal/custom-footer-component
@slickgrid-universal/custom-tooltip-plugin
@slickgrid-universal/empty-warning-component
@slickgrid-universal/event-pub-sub
@slickgrid-universal/excel-export
@slickgrid-universal/graphql
@slickgrid-universal/odata
@slickgrid-universal/pagination-component
@slickgrid-universal/pdf-export
@slickgrid-universal/row-detail-view-plugin
@slickgrid-universal/rxjs-observable
@slickgrid-universal/sql
@slickgrid-universal/text-export
@slickgrid-universal/utils
@slickgrid-universal/vanilla-bundle
@slickgrid-universal/vanilla-force-bundle
@slickgrid-universal/web-mcp
commit: |
|
@zewa666 can you also review this PR when you get a chance, I wanted to do it before I lose all my tokens with the new copilot billing 😅 it also added a new vanilla Example 43, it's pretty basic but it follows the standardized MCP approach that would be useful for the AI since it's standardized I guess. Anyway, let me know if that covers it, then if it does, I'll replicate the same demo in all other frameworks in the same PR but only after your confirmation
|
|
thats awesome man. few things to note:
|
|
@zewa666 I've asked copilot to address the last 2 but I don't really understand what you meant for the first one (it's currently only this new Example 43 in vanilla, did you mean to not create it in other frameworks or did you mean something else...?) Could you also review the other open PR #2591, it's been opened for couple weeks waiting for your quick review since it's related to your Tree Data level depth request 😉 |
|
oh I thought you want to add the ai demo buttons to all examples. so I understood it wrong. yeah it definitely makes sense adding it to all framework variants of example 43. I'll have to review the other PR next week as I'm not next to a PC until monday. Btw, I'm a big fan of you stating the model used for vibe coded features. its actually quite impressive seeing what those tiny models can achieve. I'm about to receive a new Spark Mini for research at work next week with 100gb unified RAM, looking forward to see whether a local agent supporting llm can work on that for agentic coding tasks. Ps: perhaps check out https://claude.com/contact-sales/claude-for-oss for Slickgrid |
I tried qwen 3.5 7B with LM Studio and it's not that good at SlickGrid in general but regular framework coding is probably ok. I think a 7B might not be enough to have the entire SlickGrid monorepo project as context. I tried it with Grid Preset and it kept hallucinating the wrong structure and even after telling 5x times it's wrong, I just stopped lol... but 100Gb RAM that's another story 😮
Thanks I didn't know about this one, but it looks like I'm far from fitting in their minimum requirements 😅
... but anyway, I'm pretty much done with everything in SlickGrid, the only other thing that I might look into in the future is Ag-Grid cell Formulas and that's about it. I've done everything else 😆 ..so the free copilot is good enough for small changes |


vibe coded with copilot using Claude Sonnet 4.6 for brainstorming and GPT-5 mini for the rest
What
add a new Web MCP optional package/external resource (plugin)
References
Description
Summary: Adds a new optional package that exposes a Model Context Protocol (WebMCP) surface for SlickGrid, enabling browser-based assistants/agents to safely query schema, read grid data, and apply grid state (filters/sorting/column visibility) via registered MCP tools. The implementation intentionally lives in an opt-in package so core packages remain unchanged.
What’s included:
SlickWebMcpServiceimplementsExternalResourceand registers MCP tools (read, schema, getState, applyState, filter helpers).workspace:*entries so the new package participates as an optional workspace package without altering core packages.Key features & API:
init(grid: SlickGrid, containerService: ContainerService)— initializes and registers tools withnavigator.modelContextwhen available.getStructuredSchema(),getGridState(),applyGridState(state),read_slickgrid_data_<uid>,get_slickgrid_schema_<uid>,get_slickgrid_state_<uid>,apply_slickgrid_state_<uid>.applyGridStatedelegates to existing services (FilterService,SortService,GridService) viacontainerServiceso behavior matches existing patterns.Security & UX:
Testing & verification:
pnpm install pnpm dev # then open the dev site and navigate to Example 43Files to review:
Reference: This PR implements the WebMCP/AI Toolkit idea discussed in the repository discussion: Future Features and Ideas (2026+) #1971 (comment)