loop-mcp
Allows reading, listing, creating, and editing Microsoft Loop pages via the Loop web app.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@loop-mcp list my top-level Loop pages"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
loop-mcp
MCP server that lets Claude read and write Microsoft Loop pages — on your own Loop login, from your own machine.
Tool | Action |
| Read a page (by URL) as Markdown |
| List the top-level pages of a workspace |
| Create a page from Markdown |
| Append to / replace a page |
What's an MCP?
MCP stands for Model Context Protocol. Think of it as a plug-in that gives Claude the ability to talk to a specific tool — in this case, Microsoft Loop. You install it once; after that, it works in every conversation.
Related MCP server: Loop Page Viewer
Why a browser? (architecture)
Microsoft Loop has no API for creating or editing pages (confirmed by Microsoft, 2026). Reading via the Graph API exists but requires an Azure app registration + admin consent + SharePoint Embedded guest registration — a governance bottleneck. So this MCP drives the Loop web app itself in a dedicated Chrome window that you sign into:
Read — opens the page, extracts the rendered content, converts to Markdown.
Write — pastes Markdown; Loop converts it into native blocks (headings, lists, tables, checklists…).
Everything runs as you: the tool can only see and touch what your own Loop account can. No shared secrets, no elevated permissions, nothing leaves your machine.
Trade-offs to know: the dedicated browser window must be open and signed in while you use the tools, and Microsoft's security policy will typically ask you to sign in again each day (same as the regular Loop website).
Install (one command)
git clone https://github.com/2mattias/loop-mcp.git && cd loop-mcp && ./install.shThe installer checks prerequisites (installs python3.12/pipx via Homebrew
if missing), installs the package, downloads the browser, registers the MCP
with Claude Code, and opens the sign-in window.
The only manual step: sign into Loop in the window that opens (password + token PIN). Let Chrome save your password and answer Yes to "Stay signed in?" — future days become autofill + PIN.
Then restart Claude Code and try: "read this Loop page: <paste a Loop URL>".
Daily use
Keep the "Chrome for Testing" window open (signed into Loop) whenever you use the Loop tools. If you closed it, reopen with:
<path-to-repo>/scripts/launch-chrome-debug.shIf a Loop tool suddenly fails with a sign-in page, that's Microsoft's daily re-authentication — sign in again in that window and retry.
For AI assistants (Claude)
SKILL.md contains the full operating manual: tool reference, Markdown
formatting rules for Loop (what renders well, what to avoid), safety rules for
creating/editing pages, and an ordered troubleshooting matrix for connection
problems. Install it as a Claude Code skill to get /loop-page:
mkdir -p ~/.claude/skills/loop-page
cp SKILL.md ~/.claude/skills/loop-page/SKILL.mdConfiguration (environment variables)
Variable | What it is |
|
|
| Ports scanned in |
| Default workspace for create/list (optional — copy your workspace URL from the browser). |
| Alternative mode: dedicated Playwright profile instead of CDP attach. |
|
|
| Profile mode: |
The launcher script honors LOOP_CDP_PORT (default 9222) and
LOOP_CHROME_DEBUG_DIR (default ~/.loop-mcp/chrome-debug).
CLI (test without Claude)
loop-mcp read "<page_url>"
loop-mcp list --workspace-url "<workspace_url>"
loop-mcp create "Page title" --stdin < content.md
loop-mcp edit "<page_url>" --mode append --stdin < addendum.mdManual registration (if the installer couldn't)
claude mcp add loop --env LOOP_CDP_URL=auto \
-- ~/.local/pipx/venvs/loop-mcp/bin/python -m loop_mcp.mcpOr in a project's .mcp.json:
{
"mcpServers": {
"loop": {
"type": "stdio",
"command": "/Users/<you>/.local/pipx/venvs/loop-mcp/bin/python",
"args": ["-m", "loop_mcp.mcp"],
"env": { "LOOP_CDP_URL": "auto" }
}
}
}Troubleshooting (quick)
Symptom | Fix |
"Could not attach to Chrome" | Run |
Tool returns the Loop marketing page / "Sign in" | Daily re-auth — sign in again in the debug window |
"Browser context management is not supported" | You pointed it at your everyday Chrome — use the launcher script instead |
Tools missing in Claude |
|
The full ordered troubleshooting matrix (for you or your AI) is in SKILL.md.
Uninstall
claude mcp remove loop
pipx uninstall loop-mcp
rm -rf ~/.loop-mcp ~/.claude/skills/loop-pageRequirements
macOS (Linux best-effort), Claude Code
Python 3.12 + pipx (auto-installed via Homebrew if missing)
A Microsoft 365 account with Loop access
Status / validation
All selectors and flows validated live against the Loop web app (2026-07-21): read, list, create (end-to-end), and the paste-to-blocks conversion. Selectors are role/name-based (accessibility tree) — the most stable option — but a Loop UI redesign can still break them; fixes land in this repo.
License
MIT
Available Tools
4 toolsloop_create_pageA
Create a new Microsoft Loop page and fill it with Markdown. Drives the authenticated Loop session; Markdown is auto-normalized for Loop's paste-to-blocks conversion. Requires an active session.
Inputs: title (required), markdown (required), workspace_url.
loop_edit_pageA
Edit an existing Microsoft Loop page: append Markdown to the end or replace the body. Requires an active authenticated session.
Inputs: markdown (required), page_url (required), mode.
loop_get_pageA
Read a Microsoft Loop page as Markdown. Opens the page in the user's authenticated Loop session and extracts the rendered content. Provide the page URL.
Inputs: url (required).
loop_list_pagesA
Best-effort list of Loop pages visible in a workspace (scrapes the workspace navigation). Returns title + URL. May miss pages not rendered in the current view.
Inputs: workspace_url.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool maps to a distinct operation: read, list, create, and edit. There is no overlap in purpose, and the descriptions make the boundaries clear (e.g., get_page returns content while list_pages returns titles/URLs).
All tools follow the `loop_` prefix with a consistent `verb_noun` pattern: get_page, list_pages, create_page, edit_page. The naming is uniform and predictable.
With 4 tools, the server is well-scoped for basic Loop page management. The count is within the ideal range and each tool serves a clear, non-redundant purpose.
The server covers the main page lifecycle: list, read, create, and update. A delete operation is missing, but this is a minor gap that can be worked around, and the core workflows are well supported.
Maintenance
Related MCP Connectors
A real browser for your agent: screenshots, page checks, Markdown and PDFs.
Screenshot any URL, HTML or Markdown in a real browser, and read web pages as Markdown.
Read any public page as markdown, link previews, URL safety, page audits, domain availability and…
Read web pages as markdown, search the web, list a site's URLs and run a real Chrome.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides browser automation and web scraping capabilities including page navigation, form filling, data extraction, and intelligent conversion of web pages to Markdown format.1-
- FlicenseNot gradedqualityDmaintenanceEnables users to view and edit Microsoft Loop pages as interactive markdown widgets directly within the chat interface. It supports inline rendering and provides tools for requesting page updates through a host's Loop MCP server.-
- AlicenseAqualityFmaintenanceMCP server that provides read access to Microsoft Loop workspaces and pages by reusing your Loop web session, enabling listing, reading, and searching across Loop content without app registration.853 npm3MIT
- AlicenseNot gradedqualityDmaintenanceEnables browser automation (navigate, screenshot, click, type, etc.) for Claude Code via MCP protocol, with a Chrome extension for configuration.2MIT