
Gridar
app.gridarPublished by gridar.appOfficial publisherv0.7.0Updated Nov 2, 2026
SEO toolkit for Quebec sites: audits, Google.ca rankings, keywords, AI-search visibility.
Overview
Gridar exposes a Quebec-focused SEO toolkit as 69 tools so an assistant can audit sites, track Google rankings, research keywords and manage content.
- What you can do
- Read account and site configuration, and list or fetch articles and landings
- Generate, create, update and delete articles and landings, including autopilot runs
- Audit content: SEO score, readability, plagiarism, hreflang, cannibalization, internal links, AI-answer readiness
- Check site health: composite SEO score, renderability, page speed, broken links, content decay
- Track keywords, research SERPs, People Also Ask, intent, competitors and backlink opportunities
- Read Search Console data, check index coverage, submit sitemaps and IndexNow URLs, and report proof of results
- When to use it
- Useful for agencies or site owners on a paid Gridar plan who want an assistant to run SEO audits, keyword and competitor research, and draft or publish French-language content for Quebec sites without leaving the chat.
- Requirements
- Remote Streamable HTTP endpoint with OAuth 2.1 (PKCE) login, or a bearer token from the Gridar account API keys page. A Gridar account on the Pro or Agency plan is required; Trial and Solo plans get HTTP 403 on every tool call. The npm package is older and has fewer tools.
Installation
In SourceWeft
- Open Gridar in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/app.gridar%2Fgridar/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"gridar": {
"type": "http",
"url": "https://mcp.gridar.app/mcp"
}
}
}README
@gridar/mcp-server
Model Context Protocol server for Gridar.
The server exposes the Gridar REST API (https://api.gridar.app/api/v1) as 69 gridar_* tools. An MCP client can read and change the sites, articles, landings, tracked keywords, autopilot, site memory and Search Console data of the Gridar account behind the token, and run SEO checks on them.
Versions
Checked on 2026-10-21 with npm view @gridar/mcp-server version and the hosted server card. The npm package lags behind: use the hosted server.
Requirements
- A Gridar account on the Pro or Agency plan.
- The OAuth login succeeds on every plan, but on Trial and Solo every tool call answers HTTP 403: "Accès API réservé aux plans Pro et Agence".
Install: hosted server (recommended)
Nothing to install on your machine.
What the OAuth login does
- You add
https://mcp.gridar.app/mcpto your client. - Without a token, the server answers 401 with a
WWW-Authenticateheader that points to/.well-known/oauth-protected-resource. The client discovers the OAuth endpoints from there. - The client opens the Gridar login page. Sign in if needed, then click Autoriser.
- Gridar creates an API token named after the client (for example
MCP - Claude Code) and hands it to the client. - The token shows up at https://www.gridar.app/account/api-keys. Revoke it there to cut access.
Claude (claude.ai and Claude Desktop)
On claude.ai: Settings > Connectors, add a custom connector with the URL https://mcp.gridar.app/mcp. Claude opens the Gridar login page; authorize and the connector is live.
Claude Desktop through its config file uses the mcp-remote bridge:
The file lives at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Restart Claude Desktop afterwards.
ChatGPT
- Open Settings > Connectors, or turn on Developer Mode for custom connectors.
- Add a connector by URL:
https://mcp.gridar.app/mcp. - ChatGPT opens the Gridar login page. Authorize.
OpenAI restricts custom connectors by account type. The Gridar page lists ChatGPT Pro, Team, Enterprise, or Developer Mode; check OpenAI's current rules.
Claude Code
OAuth starts on the first call. For a session without a browser, pass a token in a header:
Cursor
Settings > MCP > Add server, server of type URL: https://mcp.gridar.app/mcp.
Codex CLI, SDKs and other clients
Any MCP client that speaks Streamable HTTP connects to https://mcp.gridar.app/mcp and finds the OAuth flow on its own (see step 2 above). A headless agent sends Authorization: Bearer btb_xxx with a token created at https://www.gridar.app/account/api-keys.
Install: local stdio via npm
The npm package is behind.
@gridar/mcp-serveron npm is 0.4.2 with 43 tools. The hosted server and this source are 0.7.0 with 69 tools. The tool list in this README matches 0.7.0.
The 26 tools missing from npm 0.4.2: gridar_action_strategic_opportunity, gridar_ai_overview_readiness, gridar_ai_visibility_summary, gridar_approve_strategy, gridar_build_cluster, gridar_check_renderability, gridar_classify_intent, gridar_cluster_map, gridar_create_landing, gridar_export_page_prompt, gridar_generate_landing, gridar_generate_sister_article, gridar_index_coverage, gridar_indexnow_setup, gridar_indexnow_submit, gridar_link_opportunities, gridar_link_pages, gridar_list_strategic_opportunities, gridar_mark_page_built, gridar_propose_keyword_strategy, gridar_pull_build_queue, gridar_refresh_strategic_opportunities, gridar_run_ai_visibility, gridar_serp_analyze, gridar_site_seo_score, gridar_submit_sitemap.
The package installs the gridar-mcp binary and reads its token from BLOG_DASHBOARD_TOKEN.
Claude Desktop:
Claude Code:
Any other client: spawn the process over stdio with the token in its environment.
To get all 69 tools locally, build this source instead (see Development).
Environment variables
Names only. Never commit a real token.
Stdio (local)
Self-hosted HTTP (node dist/http.js)
In HTTP mode the token comes from each request's Authorization header and is scoped to that request with AsyncLocalStorage. BLOG_DASHBOARD_TOKEN stays a fallback: do not set it on a shared server with MCP_REQUIRE_AUTH=false, or every caller acts as that account.
HTTP endpoints:
Plans and limits
Sources: PLAN_API_LIMITS in backend/sites_mgmt/api_v1.py, Subscription.get_limits() in backend/sites_mgmt/models.py.
- Each tool call sends one request to the Gridar API and counts against the hourly limit. Past the limit the API answers 429.
- Three tools debit the monthly article quota, or one credit once the quota is used up:
gridar_generate_article,gridar_generate_sister_article,gridar_generate_landing. - An API error comes back as a tool error:
Gridar API error (HTTP <status>): <message>, followed by the JSON body.
Tools (69)
The Effect column flags what a call changes:
- destructive: deletes or disables something; the client should confirm first.
- publishes: puts content live or makes a page public.
- quota: debits one article from the monthly quota, or one credit.
- writes: changes data in Gridar without putting anything live.
- none: read only.
Account and sites
Articles
Audit and content
Site health
Keywords, SERP and competitors
Strategy, landings and clusters
Strategic opportunities
Delivery through an agent
For a custom-built site Gridar cannot publish to. Set the site's delivery mode to agent in the dashboard.
Google Search Console and indexing
AI visibility
Autopilot
Site memory
Proof of results and reporting
Conversation examples
- "Audit site 12 and give me the 3 fixes to make first." Claude calls
gridar_site_seo_score, then reads itsaction_items. - "Pull the pages to build for site 12 and create them in this repo." Claude Code calls
gridar_pull_build_queue, writes each page, deploys, then callsgridar_mark_page_builtwith each live URL.
Tools take a numeric site_id: the site must already exist in your Gridar account. gridar_list_sites returns the ids.
Known limits
- AI visibility is not wired. No AI engine is queried from the dashboard.
gridar_run_ai_visibilityanswers 501 (ai_visibility_unavailable) and stores nothing;gridar_ai_visibility_summaryreturnsavailable: falsewith zero counts, and excludes results from the former simulation. For a one-off check, the tool description points to the free checker at https://www.gridar.app/tools/ai-visibility-checker. - No search volume, no keyword difficulty.
gridar_keyword_researchreturns neither, andestimated_intentis guessed from the words of the keyword. Read itssourcesfield: a short list can mean a provider failed or returned nothing. - Opportunity estimates often read 0.
monthly_volumein strategic opportunities comes from a best-effort read of the Serper search response. When Serper returns no volume field,monthly_volume,estimated_visitsand the lead ranges are 0 andqualitative_trafficisinconnu. - Rank depth. The daily cron keeps the largest organic result set from up to three Serper calls;
gridar_snapshot_keywordsmakes a single call. In both cases a page ranked below the results Serper returns is recorded as not ranked. gridar_generate_articledefaults to French whenlanguageis omitted (the backend readslanguageor falls back tofr). It answers 422 until the site has a business model and an author bio, 409 (delivery_blocked) when the site has no delivery path, and 402 when quota and credits are used up.gridar_update_articleidentifies the article byslug; there is no field to change the slug.gridar_check_hreflangneedssite_id. The backend ignores thehtmlargument.gridar_suggest_internal_linksneedscontent. The backend does not readarticle_slugorkeyword.gridar_check_plagiarismneeds at least 50 characters, and answers 503 when Originality.ai is not configured on Gridar's side.- Landings (
gridar_create_landing,gridar_generate_landing) andgridar_generate_sister_articlework on hosted sites only. - IndexNow does not reach Google, and re-submitting a sitemap does not force Google to index anything.
- Tokens. A token grants every tool on every site of the account, deletions included. There is no read-only token. Each OAuth authorization creates a new token; old ones stay active until you revoke them at https://www.gridar.app/account/api-keys.
- OAuth state lives in memory. Codes expire after 5 minutes, and a server restart during the login invalidates the pending login: start the connection again.
Development
Debug with the MCP Inspector:
Tool definitions (name, description, input schema) live in src/index.ts, the API client in src/api.ts, the HTTP server and OAuth flow in src/http.ts.
Links
- Integration docs (French): https://www.gridar.app/docs/integrations
- Connector page: https://www.gridar.app/mcp
- Official MCP registry entry
app.gridar/gridar: https://registry.modelcontextprotocol.io/v0.1/servers?search=app.gridar/gridar - Source: https://github.com/TokDar2410621/blog-dashboard/tree/main/mcp-server
License
MIT
Source: mcp-server/README.md at commit a2a38c9
Tools
0Version history
1- v0.7.0LatestSep 16, 2026
Score
75% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.