EN
Language · same page NLNederlands/mcp/ ENEnglish (UK)/en/mcp/ ESEspañol/es/mcp/ We do not remember your choice and never redirect you automatically.
~/mcp/theseo-mcp[ok] connected
INS.MCP · free and open source reg. M.000 · MIT licence, no account

An MCP server with seven free tools.

Add this server to Claude, Claude Code or another MCP client once, and from then on your AI can run an SEO scan itself, check a business's local visibility, search for free Claude skills and retrieve the business brain template. No account and no key.

What the server does and does not record

The MCP server does not store conversations. For each valid call, the usage counter in the code counts only the tool name, the UTC day and the number 1. The public status route reported on 1 October 2026 that the counter was active; that check does not confirm a retention period or stored counter events. The counter does not include IP addresses, arguments, headers or conversation content. Apart from that counter, five of the seven tools do not pass tool input to the site flow and only read from our own catalogue and open data. Two tools do pass data to the site flow: seo_scan stores the scanned web address and result; lokale_vindbaarheid_check stores the business name, location and result. This is the same recording as for the site forms on theseo.nl. What we do with it is set out in the privacy statement NL.

seven tools, no account, no key
View the code on GitHub → MIT licence, no authentication
THE ENDPOINT · THIS IS ALL YOU NEED https://theseo-mcp.sales-cc8.workers.dev/mcp streamable HTTP · theseo-mcp 0.1.0 · MIT licence · no authentication
~/mcp/theseo-mcp · seven tools
theseo ~ %
# 5 read files, 2 CRM operations; no account, no key
seo_scan free SEO scan, 24 points
lokale_vindbaarheid_check Google Maps, score 0 to 100 · requires a key on the server
skill_zoeken searches the 100 free skills
bedrijfsbrein_template retrieves the template
ai_index_branche ai_index_vragen ai_index_bedrijf the open data
[ok] 7 tools loaded · MIT licence
~/mcp/theseo-mcp/01-demonstration[run]
Section 01 · The demonstration

You ask something, the AI measures it

reg. M.001

This is what it looks like when the server is running. You type an ordinary sentence, your AI recognises that there is a tool for it, calls it with the input specified in the code, and receives measured text instead of a guess. The numbers below are deliberately shown as placeholders, because they come from your own site and not from our imagination.

FIG.01: A tool call and the response[#----] sheet 1/5
~/work · claude + theseo-mcp
you > run an SEO scan on https://example.com and summarise the biggest problems
tool callchosen by the AI itself seo_scan · { "url": "https://example.com" }
# the only input field: url, text, maximum 400 characters
theseo-mcp · request forwarded to the site Worker...
[technical]HTTPS, HTTP status, server speed, viewport, language, robots.txt, sitemap, security headers, email authentication
[on-page]title, meta description, H1, heading structure, alt text, canonical, internal links
[content]word count, content structure, indexability
[ai]structured data, FAQ schema, Open Graph, Twitter Card, entity clarity
response to the AIschematic, the numbers are from your site SEO scan of https://example.com (timestamp) Overall score: [score]/100 Technical [score]/100 · On-page [score]/100 · Content [score]/100 · AI [score]/100 [OK] Canonical URL: [the finding on your page] [PLEASE NOTE] Meta description: [the finding on your page] [CRITICAL] H1 heading: [the finding on your page]
[####] 4/4 categories ready · the AI summarises, you can see where it came from
7M.01 · tools on the server
24M.02 · points in the SEO scan
100M.03 · skills in the search tool
0M.04 · euros, MIT licence, no account
M.01 to M.04 · properties of the server as it is currently running, not usage figures or results.
$ cat 01-what-is-mcp.md
DOC.01

What MCP is, in plain language

MCP stands for Model Context Protocol. It is an open standard that defines how an AI assistant may use external tools. That sounds more technical than it is. On its own, a language model can do only one thing: produce text based on what it has read before. It cannot open your website, look in Google Maps or search a catalogue. If you ask such a model how your site is performing, you will get a plausible account based on nothing. That exact problem is why MCP exists.

The standard solves this with a simple division of roles

On one side is the client: the program in which you talk to the AI, such as Claude, Claude Code or Cursor. On the other side is a server that can do something the model itself cannot. That server tells the client which tools it offers, which input fields each tool expects and roughly what it returns. Your assistant reads that description and decides for itself when to call a tool. You do not have to learn a command or look for a button: you ask your question in plain language and the assistant chooses the tool.

The comparison that is easiest to remember: MCP is to AI tools what USB is to peripherals

Before USB existed, every device had its own plug and its own driver. Now everything fits into the same port. Without MCP, every AI environment would have to build its own connection to every service. With MCP, you write one server, and it works everywhere the standard is followed. The standard is publicly documented at modelcontextprotocol.io and most major AI environments now support it.

The practical difference is best illustrated by asking the same question twice

Without a server, you get an answer that sounds like knowledge. With a server, you get an answer you can verify.

Important detail: the AI decides for itself whether to use a tool

You can explicitly ask it to do so, but in practice it uses the tool automatically as soon as your question calls for it. Five tools read bundled files and are registered as read-only. The SEO scan and local check are not registered as read-only: the site flow may record their input and result as a lead in the CRM. They do not modify your site, profile or source data. The server does count one call per tool and UTC day, and the scan and local check send their input to the site flow exactly as stated below.

The question that goes with this, and which is rarely answered anywhere: how does such a tool actually end up in your conversation?

That happens in two entirely separate parts. Once, when you paste the endpoint, the client and server perform a short handshake in which the server lists its entire set of tools. Then, on every turn, the model itself decides whether there is anything among them that matches your sentence. The figure below places the two side by side, because they are often confused.

FIG.01b: How a tool ends up in your conversationa one-off handshake, then a choice on every turn
connection.logschematic example · the message names come from the MCP standard
PHASE 1 · ONCE, AS SOON AS YOU HAVE PASTED THE ENDPOINT
client →initializeWhich version of the standard do you use, and what do you support?
← servertheseo-mcp 0.1.0Version confirmed. Your client sends technical MCP handshake data here, such as the protocol version, capabilities, client name and version. No account, key, site or conversation data is included.
client →tools/listWhat can you do, and what input do you need for it?
← serverseven tools, each with a name, explanation and input schemaseo_scan · lokale_vindbaarheid_check · skill_zoeken · bedrijfsbrein_template · ai_index_branche · ai_index_vragen · ai_index_bedrijf
From that point on, those seven descriptions are in your assistant's toolbox. It did not look them up because you asked, it received them when it connected. That is precisely why you do not need to learn a command anywhere: the explanation sent by the server is exactly what the model needs to make its own choice.
PHASE 2 · EVERY TURN, WITHOUT YOU HAVING TO DO ANYTHING
you type an ordinary sentence
a description matches the call is checked against the schema The model fills in the input fields, which are first checked against the schema. A URL longer than 400 characters or an empty company name is rejected before anything is sent. If it passes, you receive measured text such as that in FIG.01.
no description matches the server remains silent That is not a fault, but the intention. A question about your visual identity has no use for an SEO scan, so the model simply answers it itself. A server that called something for every sentence would be a server you switched off.
# you never choose a tool from a menu. Your sentence determines whether one matches, the schema determines whether the call is sent, and the limits in FIG.04 determine where it still says no.
$ cat 02-what-this-server-is.md # theseo-mcp 0.1.0
DOC.02
~/mcp/theseo-mcp/02-route[ok]
Section 02 · The route

From your question to the source

reg. M.002

Three links, that is all there is to it. The client in which you are talking, the MCP server that provides the tools, and the source from which the answer comes. What is recorded where is deliberately stated: the server counts only the tool name, UTC day and one count; for the scan and local check, the site flow stores the address or company context and the result.

FIG.02: Client, server and source[##---] sheet 2/5
01 · CLIENT Where you talk claude.ai and the desktop app
Claude Code in your terminal
Cursor via mcp.json
# any client that follows the standard
02 · MCP SERVER theseo-mcp Cloudflare Worker
streamable http at /mcp
stateless, no conversation storage
# counts only tool name + UTC day + 1
# the site Worker in step 03 does record the scan and check
03 · SOURCE Where the answer comes from site Worker: /api/scan
site Worker: /api/vcheck
catalogue in the server itself
# Google Places sits behind the site Worker
and the same route back: measured text to your AI, which turns it into a summary that you can verify
~/mcp/theseo-mcp/03-tools[ok]
Section 03 · The tools

Seven tools, input and output

reg. M.003

The input fields below appear literally this way in the code, including their limits. Those limits are not there to obstruct you, but to prevent an AI from accidentally sending half a novel as a company name.

FIG.03: The tools overview[###--] sheet 3/5
tools.json5 read files · 2 CRM operations
seo_scanFree SEO scan (24 points) INPUTurl · text, 1 to 400 characters. The page to be scanned, for example https://example.com OUTPUTAn overall score from 0 to 100 plus four component scores for technical, on-page, content and AI readiness, followed by a line for each point with its status and explanation.
lokale_vindbaarheid_checkLocal findability check (Google Maps) INPUTbedrijfsnaam · text, 1 to 120 characters, as customers search for it. stad · text, 1 to 80 characters, the place where it is based. OUTPUTName and address as known to Google, a score from 0 to 100, the status and weight for each measured criterion, a separate list of what was not measured and why, and specific tips.
skill_zoekenSearch for a free Claude skill INPUTonderwerp · text, 2 to 200 characters, describing what the skill should be about. max · integer from 1 to 20, optional, default 5. OUTPUTFor each match, the name, cluster, an abridged description, the explanation page on theseo.nl and the direct download URL for the zip. At the bottom, the link to the full catalogue.
bedrijfsbrein_templateRetrieve company-brain template INPUTNone. This tool has no input fields at all: you ask for it and you get it. OUTPUTThe explanation page, the download URL and then the full text of both LEESMIJ.md and the fillable bedrijfsbrein.md, ready to be filled in directly within the conversation.
ai_index_brancheAI-Index: who the model mentions in a sector INPUTbranche · text, 2 to 60 characters, for example healthcare or logistics. Part of the name is sufficient. OUTPUTThe number of valid measurements, the refusals, the ten most frequently mentioned companies with the current picture for each question, and how concentrated the mentions are. With a source line.
ai_index_vragenAI-Index: the question list for a sector INPUTbranche · text, 2 to 60 characters. max · integer from 1 to 40, optional, default 10. OUTPUTThe exact customer questions put to the model, plus the fixed prompt, the model and the measurement cycle, so you can reproduce the measurement yourself.
ai_index_bedrijfAI-Index: whether a company name appears in the measurements INPUTbedrijfsnaam · text, 2 to 120 characters, for example Coolblue or bol.com. OUTPUTThe sectors and questions in which the name appears, with counts for each measurement point. If the name does not appear, the tool explicitly states that this is not a judgement.
$ man seo_scan
DOC.03

Tool 1: seo_scan

The first tool scans one URL on 24 points, divided into four categories. Technical covers HTTPS, the HTTP status, server speed, the viewport meta tag, the configured language, robots.txt, the XML sitemap, security headers and email authentication. On-page covers the title, meta description, H1, heading structure, image alt text, canonical and internal links. Content covers the word count, content structure and indexability. And AI readiness covers structured data, the FAQ schema, Open Graph, the Twitter Card and entity clarity.

That final section is why this scan differs from most

AI readiness is about whether a language model can understand and cite your page: does it contain schema markup, is it clear who or what the page describes, and are there fields from which an assistant can compose a clear answer? This is a different kind of work from traditional SEO, and it is rapidly becoming more important as more people ask an assistant their questions instead of using a search bar.

The answer returned by your AI starts with the scanned URL and the time

The answer returned by your AI starts with the scanned URL and the time, followed by the total score, then the four section scores, and then the individual points for each category. Each point has a status: OK if it is configured correctly, INFO if it is for information only, ATTENTION for a warning and CRITICAL if something is genuinely wrong. After that status comes an honest explanation of what is right or wrong, not just a tick. This allows your AI to turn it into a readable summary without having to invent anything itself.

A realistic conversation goes like this

You type: run an SEO scan on my site and tell me what I should tackle first. The AI calls seo_scan with your URL, receives the 24 points and says, for example, that the technical setup is sound, that the meta description is missing from the page you mentioned and that there is no schema markup. You can then simply continue the conversation: ask for the three points with the greatest impact, ask for a suggested better title, or ask for the list to be turned into a task list. That conversation is the benefit. A standalone scanner gives you a list, an AI with a scanner gives you a list plus a plan.

One honest limitation should be mentioned straight away: this scan examines one page and measures only what can be measured automatically

It is not a substitute for an audit. A proper audit examines multiple pages, your competitors, keywords and search intent, and that remains manual work. The tool also says this itself in its answer, with a reference to the scan page for additional context.

Gianluca, who built the MCP server and made it public
image · showing who wrote the server and made the code public, so you can read what each tool does
$ man lokale_vindbaarheid_check
DOC.04
$ man skill_zoeken # catalogue of 100 skills
DOC.05

Tool 3: skill_zoeken

The third tool searches our catalogue of 100 free Dutch-language Claude skills by subject. A skill is an instruction file, SKILL.md, that gives an AI a fixed workflow for one task: a SWOT analysis, a quotation, a minutes report, a decision tree. All skills in the skill library are free and require no account. The problem with a library of that size is that you need to know what it contains to get anything out of it. This tool removes that problem: you ask in ordinary language whether there is something for your situation, and your AI searches.

The search tool does this without a network connection, because the catalogue is stored in the server itself

It splits your subject into individual terms and scores each skill in four places: a match in the name carries the most weight, followed by the slug, then the cluster, while a match in the description carries the least weight. This is deliberate, because the descriptions are long and contain many individual keywords. Without that weighting, a skill that happens to mention your word somewhere in its description would rank above the skill that is literally named after it.

For each match, you receive the name and the cluster it belongs to

For each match, you receive the name, the cluster it belongs to, a description truncated at approximately 240 characters, the link to the information page on theseo.nl and the direct download URL for the zip file. By default, you receive five matches, but your AI may request up to twenty. If your search term produces no results, the tool simply says so, suggests a broader term and includes the link to the full catalogue.

A realistic conversation: is there a free skill that helps me with a SWOT analysis?

The AI calls skill_zoeken with that subject, receives the matches and names the most suitable one, including the download link. You can then continue: ask it to download and install the skill, or ask what the difference is between two matches. If you do not yet know how to add a skill to your environment, the page about installing Claude skills NL explains it step by step.

The honest caveat: the catalogue in the server is a snapshot

It is generated from the theseo.nl site repository, so new skills only appear in the search tool after the server has been redeployed. The current list is always available on the site, and that link is included beneath every search result.

~/mcp · skill_zoeken
theseo ~ %
ai-pre-mortem-analist /ai-en-automatisatie/ai-pre-mortem-analist-skill-voor-claude/ · zip
ai-inversie-denker /ai-en-automatisatie/ai-inversie-denker-skill-voor-claude/ · zip
ai-tweede-orde-denker /ai-en-automatisatie/ai-tweede-orde-denker-skill-voor-claude/ · zip
# schematic: for each result, the name, the explanatory page and the zip
[ok] 3 results from 100
$ man bedrijfsbrein_template
DOC.06
$ claude mcp add --transport http theseo-mcp # one line, done
DOC.07

Installing in Claude Code, Claude.ai or another client

There is nothing to install in the traditional sense: you only tell your AI environment where the server is located. How you do that varies by program, but the same URL is used everywhere. Here are the three routes we tested, with the actual commands.

CLAUDE CODE
  1. Run in your terminal: claude mcp add --transport http theseo-mcp https://theseo-mcp.sales-cc8.workers.dev/mcp
  2. Claude Code remembers the server and displays the seven tools in your next session.
  3. Then simply ask for a scan or a skill, you do not need to learn a command.
CLAUDE.AI AND THE DESKTOP APP
  1. Go to Settings and then Connectors.
  2. Choose Add connector and paste the URL https://theseo-mcp.sales-cc8.workers.dev/mcp
  3. Done. For example, ask Claude for an SEO scan of your site.
CURSOR AND OTHER CLIENTS
  1. Open ~/.cursor/mcp.json, or .cursor/mcp.json in your project.
  2. Under mcpServers, add a theseo-mcp key containing url set to the endpoint.
  3. Other clients that follow the standard only need that same URL.
For Cursor, the file will then look like this

If an mcpServers block already exists, place our key alongside the existing ones instead of replacing the block.

# ~/.cursor/mcp.json { "mcpServers": { "theseo-mcp": { "url": "https://theseo-mcp.sales-cc8.workers.dev/mcp" } } }
There is no key, no token and no sign-up step

A deliberate choice: as soon as you need an account to try a free tool, almost no one tries it any more. Because there is no account, you also do not get a personal history. The usage counter only knows the number of calls per tool per day. For seo_scan, the site flow stores the scanned web address and result; for lokale_vindbaarheid_check, it stores the business name, location and result. This recording does not provide a screen where you can look up previous calls next week.

If something does not work, the first check is simple: paste the server's base URL into your browser, meaning the address without /mcp at the end

If you see a short JSON response with the name, version and the seven tool names, the server is running and the problem is in your client. If you see nothing, the problem is on our side.

$ cat 08-why-free.md # MIT
DOC.08

Why this is free and open source

The most honest reason first: we do not make our money from scans. We make it from the work that follows and from our software. A free tool that genuinely measures something is the cheapest way for us to show how we think. Anyone who runs the scan and reads the response can see within a minute whether they like our way of looking at things. A better introduction than any brochure, as far as we are concerned.

The second reason is that a closed measurement tool has hardly any value

If you cannot check what is being measured, you have to take our word for it that a score is correct. That is why everything is open: the server's complete source code is available at github.com/GianlucaNaarden/theseo-mcp under the MIT licence. You can read exactly which fields a tool expects, what happens to your input and how the response is constructed. If you think something is nonsensical, you can open an issue. If you want to run or modify it yourself, you are free to do so: the MIT licence permits that, including commercially.

Running it yourself is not just theoretical

You need Node 20 or newer, then you run the tests, start it locally and deploy it to your own Cloudflare account. The tests are a story in their own right, by the way: they use the official MCP client to communicate with the real handler, in the same process and without a network. That means they test what actually happens instead of a reconstructed version of it.

$ npm install $ npm test # smoke test plus tests for the skill finder $ npm run dev # locally at http://localhost:8787/mcp $ npm run deploy # to your own Cloudflare account
The third reason is that it is simply fun to make something new

As far as we have been able to determine, this is the first MCP server from a Dutch marketing agency. That caveat is necessary, because we cannot search every register and repository in the world, and someone else may already appear there tomorrow. What we do know for certain is that the standard is young, there are still few Dutch-language tools, and we thought it would be a shame to wait until someone else built it.

What we gain from it is no secret

Anyone who finds this tool useful will naturally come to us at some point for the work we do charge for: SEO, Google Ads, AI and automation and our own software NL. That is the entire arrangement, and it is stated here in black and white so you can verify it.

~/mcp/theseo-mcp/04-limits[ok]
Section 04 · The limitations

What this server does not do

reg. M.004

Any tool that aims to be honest must know its own limits. Below are the requests you might make and the answer you actually receive, including the two criteria deliberately excluded from the score because they cannot be measured.

FIG.04: limits.log[####-] sheet 4/5
limits.logthe limits of the server, set out in writing
perform a complete audit of my entire websiteLIMITEDThe scan examines one page for 24 automatically measurable points. It provides a useful first impression, not a complete audit. Multiple pages, competition, keywords and search intent still require manual work.
do I appear in Google's local map pack?NOT MEASUREDThat requires a live search query. This is not included in this free check. The criterion is returned as not measured, together with the reason, and does not count towards the score.
do I respond to enough of my reviews?NOT MEASUREDGoogle does not make that available through this route. The tool says so as well, with the recommendation that you should do it: responding is one of the strongest activity signals.
save my scan results for next weekNOT POSSIBLEThis server does not provide personal memory. There is no user database, account or session in which you can retrieve previous results. The usage counter knows only the tool name, UTC day and the number 1. For the SEO scan and local check, our site records the scanned address or business context and result in our own database, just as it does for the tool on theseo.nl. That is our administrative record, not a history you can request.
create an account for meNOT REQUIREDThere is no account and no key. You paste in the endpoint and it works. So there is no account password or access token here for you to remember or for someone to leak from such an account.
is last week's skill already included?SNAPSHOTThe catalogue is supplied with the server. New skills appear in the search tool after a new deployment. The current list is always available in the skill library, and that link is included with every result.
the visibility check returns an errorHONEST ERRORThe check only works when the API key is present on our server. If it is missing, the tool passes on the API's error message verbatim instead of inventing a result. Dull, but verifiable.
~/mcp/theseo-mcp/05-upgrade-path[ok]
Section 05 · From tool to employee

Run it yourself or have it run for you

reg. M.005

To be completely honest: this server is the free do-it-yourself version of work we also provide as a service. It remains complete and free of hidden catches, but understand what a tool is. It responds when you ask, and every new session starts empty. The tool is not the engine and not the memory. You ask, you provide the context, you check. Anyone who wants this handled differently has two next steps: hand over the engine, or arrange the memory.

$ cat from-tool-to-employee.mdthree tiers, same work
upgrade-path.shfree · employee · brain
TIER 1 · FREE
where you are now
The MCP server: you are the engine You connect the server to Claude, Claude Code or Cursor and request a scan, a check or a skill yourself. It costs nothing, works today, and everything on this page will remain available just as it is. The limit is your own time: it happens only when you ask. $ claude mcp add --transport http theseo-mcp · 0 euro · you ask, you check
TIER 2 · SERVICE
have it prepared
The AI employee: it is ready without you having to ask Exactly this kind of work, but as a service: the Reporting Employee runs the measurements and prepares the weekly and monthly reports without you having to sit down at a terminal. You retain control, because output remains a draft until a person approves it. We provide this through Mansotti, the business whose trading name is TheSEO, which builds a Quotation Employee and a Sales Employee alongside the Reporting Employee. Read what an AI employee is and does. from 950 euro per month · a person always gives approval
TIER 3 · BRAIN
everything from one source
Jarvis: all your AIs work from the same business knowledge A tool teaches your AI what it can retrieve, while the brain is where the memory lives. If you want all your AIs to work from the same business knowledge, that is Jarvis, the organisational brain. It connects ChatGPT, Claude, Codex and your people to the same projects, core knowledge and decisions, so your next AI session does not start over. Jarvis selects context, delegates work and stores only what has been approved: client knowledge remains isolated and every step leaves a verifiable trail. This server benefits from that too, because you no longer have to repeat which sites and which businesses you are monitoring in every conversation. Read what that delivers in concrete terms, from the plans to your first week, on Jarvis itself. entry-level Brain Start: 9 euro per month incl. VAT · pay for your brain, not per AI request
# no advertising trick: tier 1 remains free and complete. The following tiers are for those who want to hand over this work.
~/mcp/theseo-mcp/06-jarvis[ok]
Section 06 · The brain

What Jarvis delivers in concrete terms

reg. M.006

Tier 3 deserves more than one paragraph, particularly on this page. Anyone who connects an MCP server understands the distinction between a model that guesses and one that can retrieve something. But there is a gap behind it that you only notice after a few weeks. By design, the MCP server does not store conversations: the counter knows only the tool name, UTC day and the number 1. For the two forwarding tools, the site flow does store the address or business context and result, but not what you decided afterwards. That decision evaporates as soon as the conversation closes. Jarvis is the layer that retains exactly that.

FIG.05: The tool provides the fact, the brain retains the decision[#####] sheet 5/5
work-journal.mdexample layout, no client data
what the tool returnedwhat was decided afterwards
seo_scan · week 1H1 is missing from the service page, meta description too longnot recorded as a decision, only discussed
lokale_vindbaarheid_check · week 3opening hours are missing for two branchesnot recorded as a decision, only discussed
seo_scan · week 5H1 is missing from the service page, meta description too longthe same finding, the same discussion, no idea whether anything had already been decided about it
$ jarvis on · the same tools, the same measurements, but now the right-hand column remains
seo_scan · week 1H1 is missing from the service page, meta description too long[decision]H1 will be the service name plus the location; only rewrite the meta after that page has been reorganised
lokale_vindbaarheid_check · week 3opening hours are missing for two branches[task]requested from the branch manager, draft ready, awaiting human approval
seo_scan · week 5H1 is missing from the service page, meta description too long[recall]the decision from week 1 is included: the meta is deliberately on hold, so this is not a new finding but an outstanding one
# the MCP server changes nothing about its work here: in week 5 it measures exactly the same thing as in week 1, as it should. The difference is in the adjacent column. The complete trail from recording to approval is available at jarvis/werking.
mcp.plus Last month's measurement is still there The server is stateless, and that is a security choice we do not want to abandon. The brain therefore sits alongside it, not inside it: that is where what you did with a measurement is recorded, so the finding from week 5 is recognised as the outstanding one from week 1.
tools.shared The same seven tools in every AI you use You paste the endpoint separately into Claude, Cursor and Claude Code. What you learn and decide there then remains separate. With a brain behind them, all three work from the same core knowledge, and a scan in one environment produces a decision that the others also know.
scan.schedule A measurement that recurs automatically Calling it manually works perfectly well as long as you remember. A task in the brain runs the scan on a fixed schedule, records the difference from the previous time and reports back if anything changes. The tool remains the same, the trigger does not.
trace.back Trace which call supported which decision Every step leaves a verifiable trail: which tool was called, with what input, what was returned and who gave approval. Without that trail, six months later you can no longer determine what a choice was based on.
human.approval Nothing goes out without approval AI prepares, a person decides. Output remains a draft until someone approves it, and only approved knowledge returns to the brain. That boundary applies throughout the system, including work that an agent has prepared entirely by itself.
brain.isolated Client brain isolated If you work for multiple clients, the knowledge for each client remains strictly separate. What you learn for one does not leak into the work for another.
# THE HONEST EVIDENCE · NOT A DEMO

We ourselves have already been running on this system for months. Every agent session, every task and every decision is logged in it and can be reviewed. As a result, a new session does not start with a blank slate: it first retrieves the recorded decisions, ongoing projects and latest changes, then continues where the previous session stopped. This server itself emerged from it, including the decision to keep it stateless. We are not describing a promise here, but the way we ourselves work every day.

$ cat pricing.mdpay for your brain, not per AI request
Brain Start €9 /month incl. VAT 1 organisational brain · 1 user · 1 AI employee
Brain Solo €29 /month incl. VAT 1 organisational brain · 1 user · 3 AI employees
Brain Team €99 /month incl. VAT 1 organisational brain · 5 users · 10 AI employees
Brain Business €249 /month incl. VAT 3 organisational brains · 20 users · 50 AI employees

View the four plans at jarvis/prijzen NL. Through the waiting list NL, you simply indicate your preferred plan without obligation. This does not create an account, order or payment obligation. We discuss bespoke business solutions first.

~/mcp/theseo-mcp/07-continue[ok]
Section 07 · Keep exploring

What this server relies on

reg. M.007

Every tool on the server has a page on this site where the same work can be done manually. That is not duplication but a choice: some people want a button, others want a conversation. The entire range is brought together below.

$ claude # interactive session · eight questions, eight answers
DOC.09 · FAQ

Frequently asked questions

What exactly is MCP?

MCP stands for Model Context Protocol. It is an open standard that defines how an AI assistant may use external tools. On its own, an AI model can only produce text based on what it has read in the past. MCP allows it to request something from a server that can measure, search or retrieve information. The server explains which tools are available, what input they expect and what they return, and the assistant decides when to call one.

How much does this MCP server cost?

Nothing. All seven tools are free, you do not need to create an account, leave an email address or request a key. The code is available on GitHub under the MIT licence. There is no paid version of this server and no sales email will follow.

Which programs does the server work in?

In any client that supports remote MCP servers via Streamable HTTP. We document Claude on claude.ai and in the desktop app, Claude Code, and Cursor via the mcp.json file. Other clients that follow the standard only need the endpoint URL, as that is the only thing you need to enter.

Does the server store my data?

The MCP server itself does not store conversations or tool input. For each valid call, the usage counter in the code writes only the tool name, the UTC day and the number 1 to Analytics Engine; from this, we count calls per tool per day. The public status route reported on 1 October 2026 that the counter was active; that check does not confirm a retention period or stored counter events. The counter does not include IP addresses, arguments or headers. Two tools do pass data to the site flow: seo_scan stores the scanned web address and result; lokale_vindbaarheid_check stores the business name, location and result. This is the same recording as for the site forms on theseo.nl. The other five tools only read bundled files and do not store conversation content.

Does the SEO scan replace a proper audit?

No, and the tool itself says so in its response. The scan checks a page against 24 automatically measurable points and gives it an honest score. A full audit examines multiple pages, competitors, keywords and search intent, and that remains manual work. Think of the scan as a useful first impression that tells you where to look.

Why are some criteria returned as not measured?

Because we would rather say nothing than make something up. The local visibility check measures what is available through the Google Places API. Whether you appear in the local map pack requires a live search, and Google does not disclose through this route whether you respond to reviews. Those two are returned as not measured, together with the reason, and they do not count towards the denominator of the score. This means an unmeasurable point can never lower your score.

Is the newest skill included immediately?

Not automatically. The skill catalogue on the server is a snapshot generated from the theseo.nl site repository. New skills appear in the search tool as soon as the server is redeployed. The complete and always up-to-date list is on the skills page of theseo.nl, and that link is also included at the bottom of every search result.

Can I run or modify the server myself?

Yes. The code is available on GitHub under the MIT licence. You need Node 20 or newer, after which you can run it locally with npm run dev and deploy it to your own Cloudflare account with npm run deploy. The server itself contains no keys: the scan and check logic runs on the theseo.nl site Worker, and this server only calls its public endpoints.

DOC.10 · Next step

Connecting takes a minute

Paste the endpoint into your client, ask it to scan your own site and see what comes back. If you like the approach, you will immediately know how we work. If you do not, it has cost you one minute and there is no account in your name. That is the entire trade-off.

If a tool that belongs here is missing, or you encounter something that is not right, let us know. The code is open, so creating an issue on GitHub is the quickest route. If you would rather discuss what else AI could do for your company, from individual tools to an organisational brain, we can simply do that in a conversation.

Section 08 · Next stepreachable 24/7 · sales@theseo.nl
Book a call ↗ NL
$ whoami
Written by GianlucaFounder of TheSEO. Has worked on visibility for Dutch companies since 2017, in Google and in AI answers. More about the institute.