2servers · streamable HTTP

MCP servers

Two Model Context Protocol servers, self-hosted and free to use. Point your MCP client at an endpoint, or try them in the browser.

The Model Context Protocol (MCP) is an open standard that lets AI assistants use external tools and data sources; mcp.jmrp.io hosts two such servers, libgen and gitlab. Read the specification at modelcontextprotocol.io.

Try them in the browser

Servers

Both servers speak streamable HTTP: one POST per JSON-RPC 2.0 call, stateless — no session header — answering JSON or an SSE stream depending on your Accept header (application/json, text/event-stream). Neither endpoint serves a page to a plain GET: libgen rejects the method with 405, gitlab checks credentials first and answers 401.

The two servers side by side
ServerCredentialToolsPromptsResourcesTemplatesVersionPrice
libgenNone44002.2.1Free
gitlabAuthorization2 (+768 actions)378373.2.0Free

libgen

No credentials required

No account required. Search, read and get download links for books and papers across arXiv, Crossref, OpenLibrary, Gutenberg, PubMed and Library Genesis.

POST https://mcp.jmrp.io/libgen

v2.2.1 · 3/3 nodes up

Does libgen cost anything, and do I need an account?

Neither. libgen takes no credential at all: no account here, no API key, no per-source registration. Every source it queries is open or public, and none of them asks you to sign up first, which is why the endpoint accepts a call from anyone who can reach it.

The only ceilings are the ones described below, which are there to spend third-party capacity slowly and keep each instance answering, not to ration yours.

What are libgen's rate limits and availability?

libgen at mcp.jmrp.io is a personal service, offered as-is and with no SLA. It may change or go away without notice, so do not build anything critical on top of it — run your own instance instead: the server is open source and a single static binary.

Its catalogue queries and every download share one limiter per instance, about 2 requests a second (3 instances, so roughly 6 a second in total). The open-access sources it also searches — arXiv, Crossref, PubMed and the rest — are each paced on their own, at the rate that source asks of its clients. OpenAlex meters an address rather than a person, so everyone using this endpoint shares its daily allowance: its search results, and the works a record cites or that cite it, can run out sooner here than on a server of your own. Those ceilings are deliberately low: they point at third-party services, and going faster would spend their capacity, not ours.

Each address may make 60 calls a second per instance, in bursts of up to 40, with listing the tools on a bucket of its own; a tool call past that comes back as an error the model can read and back off from. Each instance also bounds what it holds open: at most four download or read calls per address at a time (64 across the instance), and 2,384 calls of any kind. Past the first, the call is refused with a message telling you to let one finish; past the second, the server answers that it is busy — on the current protocol, HTTP 503 with Retry-After: 30 — instead of queuing it.

gitlab

Credentials required

Free hosted GitLab MCP endpoint, no account beyond your own gitlab.com token, never written to disk. Over 700 operations: projects, MRs, pipelines.

POST https://mcp.jmrp.io/gitlab

v3.2.0 · 3/3 nodes up

Authorization
Your gitlab.com credential, sent as Bearer: an OAuth access token, or a personal access token used the same way. Never written to disk or logged on the server.

Does gitlab cost anything, and do I need an account?

The endpoint is free and there is nothing here to sign up for. What it needs is a gitlab.com account you already have, because the server acts as you: it holds no account of its own and issues no credential, so there is no key to request and no plan to pick.

Whatever quota you spend is your own on gitlab.com, and what you can reach is whatever that token can reach — this server adds no tier of its own.

Where does your GitLab token go?

Your token stays in your browser's memory only. It is not written to localStorage or cookies, never travels in the URL, and is gone on reload. It is sent solely as an Authorization: Bearer header to mcp.jmrp.io/gitlab, which never writes it to disk or logs it: the server keeps it in memory only while you keep using it — up to an hour after your last call — and then drops it.

The destination is not a matter of trust: this page's Content-Security-Policy declares connect-src 'self' https://gitlab.com and form-action 'self', so the browser itself refuses to send the token anywhere but this domain and the one that issues it. gitlab.com is on that list for exactly one reason — the sign-in button, which exchanges an authorization code for a token issued to the inspector's own OAuth application, scoped to read_api and nothing wider — and for nothing else. What the server then does with it — keep it in memory while you use it, re-check it with gitlab.com every fifteen minutes, and drop it — you can verify in its source code, which is public.

Even so, be suspicious of any site asking for a token — this one included. The sensible habits are:

  • Verify it yourself: this page's source is public, and so is the server's.
  • Use the narrowest credential that does what you need. A token scoped to read_api is admitted and served exactly the actions GitLab accepts from that scope, which are reads: it cannot break anything, and it is the right one for trying the server out. api is only needed to reach the actions that write. Narrower still is a GitLab fine-grained token, limited to the projects and permissions you pick: the server serves it only what its grant reaches, and turns it away at the door unless the grant includes User: Read. The server decides per action, not once at the door, so asking for less is served less rather than refused.
  • Revoke it when you are done testing.
  • Never reuse a token you rely on in production.

What are gitlab's rate limits and availability?

The gitlab endpoint at mcp.jmrp.io is likewise personal, with no SLA and no continuity guarantee. For anything critical, run your own instance — the server is open source and ships as one static binary.

Each credential has its own budget on each of the three instances: 60 calls a second that reach GitLab, in bursts of up to 40, with listing the catalogue on a separate bucket that refills a tenth as fast. Past that, what you spend is gitlab.com's quota, under your own token.

Failed sign-ins are counted per address. Ten in a minute block that address until the minute is out; fifty different rejected tokens in ten minutes block it for a minute, then ten, then an hour at a time. A client retrying one expired token recovers on its own; one trying token after token does not.

/servers.json— Machine-readable index

/llms.txt— Context index for AI assistants

This page was last updated on