Claude Marketplaces
SkillsMCP serversMarketplacesPluginsDigestAdvertise
Submit

LLMond Highlights

This week in Claude is LLMond Highlights now. A weekly email, free.

Skills by category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP servers by category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control
Claude Marketplaces

An independent directory of skills, plugins and MCP servers for Claude Code. Not affiliated with Anthropic.

Browse

  • Skills
  • MCP servers
  • Marketplaces
  • Plugins
  • Weekly digest
  • Skill index
  • MCP index
  • Marketplace index
  • Plugin index

Site

  • About
  • Submit
  • Advertise
  • Feedback
  • Privacy
  • llms.txt
  • Plugins reference

Maker

  • Snug
  • Agent Caffeine
  • knobs
  • Wax
  • Vectoys
  • mertduzgun.com
by Mert Düzgün
MCP servers/Search & Web Crawling
bowmark-ai avatar

Bowmark web data: LinkedIn, Amazon, YouTube, Reddit, Airbnb, Instagram

bowmark-ai/skill

Pre-computed navigation paths for public websites, built to cut token usage when agents interact with browser automation. Instead of exploring a site's UI from scratch each time, your agent gets direct shortcuts (like jumping straight to YouTube search results) and step-by-step cheatsheets for common tasks (sharing a Notion doc, triaging Linear bugs). The system learns from actual agent runs and drops paths that stop working. During beta it's free with no auth required. Connect via the streamable HTTP transport and skip the expensive exploration phase when automating repetitive web workflows. Best for agents that hit the same public sites repeatedly where you're paying for redundant navigation tokens.

tools
34
auth
Secret needed
transport
STDIO, HTTP
env var
1
last updated
Nov 13, 2026
View on GitHubSave

Install

From registry metadata
$ npx add-mcp https://api.bowmark.ai/mcp/registry --name bowmark --header 'Authorization: Bearer ${API_TOKEN}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http bowmark https://api.bowmark.ai/mcp/registry --header 'Authorization: YOUR_AUTHORIZATION'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 34 tools

Verified live against the running server on Nov 6, 2026.

get_library**Use this whenever a task touches a live website.** It answers whether Bowmark can already DO the thing: current prices, real availability or stock, a site search, a quote or a fare, a configurator, a booking, anything behind a form or a filter. **Behind a LOGIN it works only...3 params

**Use this whenever a task touches a live website.** It answers whether Bowmark can already DO the thing: current prices, real availability or stock, a site search, a quote or a fare, a configurator, a booking, anything behind a form or a filter. **Behind a LOGIN it works only...

Parameters* required
minimalboolean
Optional. `true` answers only whether `query` is covered, in one line — no types, no examples, no fallback tools. For a quick coverage check, not for writing a script against the result.
queriesarray
Optional. Several lookups in ONE call, one per part of the task: `["amazon", "youtube"]`, `["flights", "hotels in Lisbon"]`. Each entry is written exactly like `query` and answered exactly as `quer...
querystring
Optional, but pass one — it decides how much detail comes back. What the user wants to do, in their words ("flights", "price a GPU", "book a table", "check stock"), or a company/site if they named...
run**Executes the task on the real websites** and returns the result. Call `get_library` FIRST, then start with `run({ script })` — never add `runId`. THE SCRIPT is a plain async JavaScript body, not a wrapping function. `bowmark` is a ready global: `await bowmark.<capability>.<f...3 params

**Executes the task on the real websites** and returns the result. Call `get_library` FIRST, then start with `run({ script })` — never add `runId`. THE SCRIPT is a plain async JavaScript body, not a wrapping function. `bowmark` is a ready global: `await bowmark.<capability>.<f...

Parameters* required
egressstring
Optional. `"link"` sends every request of this run through the user's own Chrome (Bowmark Link) and fails with "Link not connected" when it is not open; `"default"` or leaving it out uses Bowmark's...one of default · link
runIdstring
Send EXACTLY ONE of `script` or `runId`, never both and never neither. `runId` is only to collect a run an earlier call answered `status: "running"` for: pass its `runId` alone, with no `script`, a...
scriptstring
Send EXACTLY ONE of `script` or `runId`, never both and never neither; `script` starts a new run. The JavaScript script body to execute (async, against the `bowmark` global). e.g. `const { flights,...
run_viewUsed by the inline run view to draw a run's progress. You do not need to call this — `run` returns the result.2 params

Used by the inline run view to draw a run's progress. You do not need to call this — `run` returns the result.

Parameters* required
runIdstring
scriptstring
jig_openMake the user a "jig": their own copy of a website, running through Bowmark, that you curate as they talk to you. Asked for "a jig of YouTube", build a page that LOOKS like that site with Bowmark's logo where the site's would be, filled by Bowmark library functions as this use...6 params

Make the user a "jig": their own copy of a website, running through Bowmark, that you curate as they talk to you. Asked for "a jig of YouTube", build a page that LOOKS like that site with Bowmark's logo where the site's would be, filled by Bowmark library functions as this use...

Parameters* required
htmlstring
Your own page: a whole HTML document with inline <style> and <script>. It gets a `bowmark` global (see the tool description) and nothing else — no fetch, no CDN.
jigIdstring
Reopen a jig the user already has (from `jig_list`), with its page and state as they left them. Pass nothing else with it.
slugstring
The jig's name in its link, bowmark.ai/jig/@<handle>/<slug> (bowmark.ai/jig/<slug> until the user has a handle): lowercase letters, digits and hyphens. Omit it and one is made from the title. Renam...
stateobject
The page's starting state — what you steer it with later via `jig_update`.
templatestring
Start from a built-in jig instead of writing `html`.one of youtube-feed · amazon-search
titlestring
Shown above the page.
jig_listThe jigs this user has, newest change first: id, slug, title, the built-in it started from, and when it last changed. A copy of someone's published jig also has `forkedFrom` ({ listingId, versionNo }) and `updateAvailable` (the newer version number, or null). Call it when the...

The jigs this user has, newest change first: id, slug, title, the built-in it started from, and when it last changed. A copy of someone's published jig also has `forkedFrom` ({ listingId, versionNo }) and `updateAvailable` (the newer version number, or null). Call it when the...

No parameters. Call it with no arguments.

jig_searchSearch the public jigs other people published: "is there a jig for my Amazon orders?". Call it BEFORE building a page from scratch. Leave `q` empty for the newest. Pass `site` (a host like youtube.com) for the jigs of one site. Results: id, title, tagline, slug, ownerHandle, s...4 params

Search the public jigs other people published: "is there a jig for my Amazon orders?". Call it BEFORE building a page from scratch. Leave `q` empty for the newest. Pass `site` (a host like youtube.com) for the jigs of one site. Results: id, title, tagline, slug, ownerHandle, s...

Parameters* required
cursorstring
The `nextCursor` of the previous page.
limitinteger
qstring
Words to find, matched against title, tagline, description, slug and sites. At most 200 characters.
sitestring
Only jigs that work on this site, a bare host like youtube.com (subdomains count). No scheme or path.
jig_publishPublish the user's jig (name it by `jigId` or your jig's `jigSlug`) as a listing others can get: it snapshots the page and state AS THEY ARE NOW into version N+1, and later edits stay private until you publish again. Call with `dryRun: true` first and show the user what would...14 params

Publish the user's jig (name it by `jigId` or your jig's `jigSlug`) as a listing others can get: it snapshots the page and state AS THEY ARE NOW into version N+1, and later edits stay private until you publish again. Call with `dryRun: true` first and show the user what would...

Parameters* required
changelogstring
What changed in this version.
defaultStateobject
The state a copy starts with. Default: the jig's own default (its template's, or the version it was installed from), never its live state.
descriptionstring
detailsOnlyboolean
Change only the listing (visibility, title, tagline, description); writes no version. Use it to unlist.
dryRunboolean
Return exactly what would ship and write nothing.
extraSitesarray
Extra sites to list it under for discovery. The derived ones always stay.
handlestring
The user's public handle, first publish only.
jigIdstring
The jig's id. Give this or `jigSlug`.
jigSlugstring
The slug of the caller's OWN jig (from `jig_list`), instead of `jigId`. Not the listing `slug` below.
screenshotsarray
Up to 8 screenshots (png/jpeg/webp ≤ 5 MB) or a short clip (mp4/webm ≤ 20 MB) for the store page, each a `url` or `base64` — give exactly one. YOU capture them (a screenshot of the page with sample...
slugstring
First publish only; made from the title when omitted. It cannot change.
taglinestring
titlestring
visibility*string
one of public · unlisted
jig_set_handleClaim the user's public handle: the @name in the links to pages they publish, bowmark.ai/jigs/@<handle>/<slug>. It is PUBLIC and PERMANENT: it can never be changed or released. Ask the user which one they want BEFORE calling, suggesting one from their name, and never choose it...1 params

Claim the user's public handle: the @name in the links to pages they publish, bowmark.ai/jigs/@<handle>/<slug>. It is PUBLIC and PERMANENT: it can never be changed or released. Ask the user which one they want BEFORE calling, suggesting one from their name, and never choose it...

Parameters* required
handlestring
The handle the user chose, with or without the @. Omit it to only look.
jig_getCopy someone's published jig into THIS user's account, from its current version. The copy is the user's own: it runs as them with their logins, never the author's, and can call only the functions its listing lists. Name it by `listing`: its id, `@handle/slug`, or its store URL...2 params

Copy someone's published jig into THIS user's account, from its current version. The copy is the user's own: it runs as them with their logins, never the author's, and can call only the functions its listing lists. Name it by `listing`: its id, `@handle/slug`, or its store URL...

Parameters* required
anotherboolean
Make a second copy even though the user already has one.
listing*string
The listing id, `@handle/slug`, or the store URL bowmark.ai/jigs/@handle/slug.
jig_updateChange a page you opened with `jig_open`: merge `state` into its state (a key set to null is removed), replace its `html` or `title`, or change part of the html with `edits` ([{ find, replace }], each find exactly once) instead of resending the whole page. The open page update...8 params

Change a page you opened with `jig_open`: merge `state` into its state (a key set to null is removed), replace its `html` or `title`, or change part of the html with `edits` ([{ find, replace }], each find exactly once) instead of resending the whole page. The open page update...

Parameters* required
editsarray
Find/replace on the current html, applied in order.
htmlstring
jigId*string
mergedFrominteger
After merging an update from `jig_pull_update`: the `theirsVersion` you merged. Send it with the merged `html` (or `edits`); the copy is then based on that version, and any new functions it calls w...
replaceStateboolean
Start from {} instead of merging.
slugstring
Rename the jig's link, the <slug> in bowmark.ai/jig/@<handle>/<slug>. The old link keeps working and redirects.
stateobject
titlestring
jig_pull_updateFor a jig the user got from someone's listing (`jig_list` shows `updateAvailable`): the three pages a merge needs. `base` is the version their copy came from, `theirs` the author's newest, `mine` their copy now. Writes nothing. If `edited` is false, save `theirs` as is. Otherw...1 params

For a jig the user got from someone's listing (`jig_list` shows `updateAvailable`): the three pages a merge needs. `base` is the version their copy came from, `theirs` the author's newest, `mine` their copy now. Writes nothing. If `edited` is false, save `theirs` as is. Otherw...

Parameters* required
jigId*string
jig_viewUsed by an open jig to pick up its latest state. You do not need to call this.3 params

Used by an open jig to pick up its latest state. You do not need to call this.

Parameters* required
cacheboolean
jigId*string
sinceinteger
jig_cacheUsed by an open jig to save a call's last good result. You do not need to call this.3 params

Used by an open jig to save a call's last good result. You do not need to call this.

Parameters* required
jigId*string
key*string
valuevalue
jig_seenUsed by an open jig to report what it shows. You do not need to call this.3 params

Used by an open jig to report what it shows. You do not need to call this.

Parameters* required
eventstring
jigId*string
snapshotvalue
jig_perfUsed by an open jig to report how fast it loaded. You do not need to call this.2 params

Used by an open jig to report how fast it loaded. You do not need to call this.

Parameters* required
jigId*string
reportvalue
jig_lookSee what an open jig is showing the user right now — the items on screen, which view they are on — plus what they just did on it (watched, hid, searched) and its current state. Call it before you curate: when the user says "clear the slop" or "why is this here", look first, th...1 params

See what an open jig is showing the user right now — the items on screen, which view they are on — plus what they just did on it (watched, hid, searched) and its current state. Call it before you curate: when the user says "clear the slop" or "why is this here", look first, th...

Parameters* required
jigId*string
jig_callUsed by an open jig to call the library. You do not need to call this — use `run`.6 params

Used by an open jig to call the library. You do not need to call this — use `run`.

Parameters* required
callsarray
cancelarray
jigId*string
refstring
runIdstring
timeoutMsinteger
session_callRuns ONE library function in a Bowmark session, so a flow that needs several calls in the SAME session can finish: a booking that texts the user a code, a cart filled over several steps, a form that waits on an answer from the user. `run` cannot do these, because every run sta...3 params

Runs ONE library function in a Bowmark session, so a flow that needs several calls in the SAME session can finish: a booking that texts the user a code, a cart filled over several steps, a form that waits on an answer from the user. `run` cannot do these, because every run sta...

Parameters* required
argsarray
The function's arguments, in order, exactly as a script passes them.
path*array
The function to call, as the path a script writes after `bowmark.`: `["providers","opentable","startBooking"]` for `bowmark.providers.opentable.startBooking`.
sessionIdstring
The `sessionId` an earlier `session_call` returned. Omit it on the first call and a new session opens.
session_closeEnds a session `session_call` opened and frees what it held. Pass the `sessionId`. Closing one that is already closed is harmless.1 params

Ends a session `session_call` opened and frees what it held. Pass the `sessionId`. Closing one that is already closed is harmless.

Parameters* required
sessionId*string
The `sessionId` `session_call` returned.
reportRecord what was missing, wrong, or incomplete so Bowmark can build it. Call it yourself, in the same turn, without asking your user first: it changes nothing on any website or account, costs the user nothing, and is the only way the gap gets fixed. Call it whenever a `run` err...2 params

Record what was missing, wrong, or incomplete so Bowmark can build it. Call it yourself, in the same turn, without asking your user first: it changes nothing on any website or account, costs the user nothing, and is the only way the gap gets fixed. Call it whenever a `run` err...

Parameters* required
report*string
What Bowmark could not do or returned incorrectly.
runIdstring
Optional `runId` returned by `run` for the result you are reporting.
get_usageSee the real cost of calls on this account, itemized by resource (provider calls, browser sessions, IP leases) and aggregated in dollars. Pass no arguments to see this month; pass `month: '2026-09'` to see a past month (format `YYYY-MM`). Returns `totalUsd` and line items with...1 params

See the real cost of calls on this account, itemized by resource (provider calls, browser sessions, IP leases) and aggregated in dollars. Pass no arguments to see this month; pass `month: '2026-09'` to see a past month (format `YYYY-MM`). Returns `totalUsd` and line items with...

Parameters* required
monthstring
Past month in format YYYY-MM. Omit for current month.
llm_pollLets this chat answer the AI calls an open Bowmark page makes, so they cost nothing. Returns up to 5 pending jobs ({ jobId, system, prompt, toolName, inputSchema, leaseSeconds }); waits up to waitSeconds (max 15) when there are none. Answer each with llm_answer. Calling this m...1 params

Lets this chat answer the AI calls an open Bowmark page makes, so they cost nothing. Returns up to 5 pending jobs ({ jobId, system, prompt, toolName, inputSchema, leaseSeconds }); waits up to waitSeconds (max 15) when there are none. Answer each with llm_answer. Calling this m...

Parameters* required
waitSecondsnumber
How long to wait for a job when none is pending. Capped at 15.
llm_answerAnswers one job from llm_poll. `answer` must be an object matching that job's inputSchema. A wrong shape is refused with the reason and the job stays open, so correct it and call again.2 params

Answers one job from llm_poll. `answer` must be an object matching that job's inputSchema. A wrong shape is refused with the reason and the job stays open, so correct it and call again.

Parameters* required
answervalue
The answer, matching the job's inputSchema.
jobId*string
The jobId from llm_poll.
llm_detachDetaches this chat at once, so open Bowmark pages' AI calls go back to Bowmark's own model instead of waiting for this chat.

Detaches this chat at once, so open Bowmark pages' AI calls go back to Bowmark's own model instead of waiting for this chat.

No parameters. Call it with no arguments.

supportChat live with a Bowmark support agent about a problem you reported. Use it only after your user said yes to talking to support. Pass the `reportId` that `report` returned. Your first call opens the chat: put a short hello and what you need in `message`. Each call posts your `...3 params

Chat live with a Bowmark support agent about a problem you reported. Use it only after your user said yes to talking to support. Pass the `reportId` that `report` returned. Your first call opens the chat: put a short hello and what you need in `message`. Each call posts your `...

Parameters* required
afterinteger
The `after` from your last `support` call. Omit it to read the whole chat.
messagestring
What to say to support. Omit it to just wait for a reply.
reportId*string
The `reportId` that `report` returned.
list_secretsList the stored secrets this account holds, by NAME. Returns name, type, which hosts each may be used against, when it expires and when it was last used — never a value, and no Bowmark endpoint returns one. **Call this BEFORE `request_secret`.** A secret the user has already s...

List the stored secrets this account holds, by NAME. Returns name, type, which hosts each may be used against, when it expires and when it was last used — never a value, and no Bowmark endpoint returns one. **Call this BEFORE `request_secret`.** A secret the user has already s...

No parameters. Call it with no arguments.

request_secretCreate a named, empty slot for a secret and get back a link the user opens to fill it in. They type the value on a Bowmark page and choose how long it lives, from 5 minutes to never. It is encrypted in their own browser before it leaves, so nothing on the way — this connection...3 params

Create a named, empty slot for a secret and get back a link the user opens to fill it in. They type the value on a Bowmark page and choose how long it lives, from 5 minutes to never. It is encrypted in their own browser before it leaves, so nothing on the way — this connection...

Parameters* required
hostsarray
Hosts the value may be used against, e.g. ["acme.com"]. Refused elsewhere.
name*string
Lowercase name, `<site>_<what it is>` — `letterboxd_password`, `stripe_api_key`, `acme_totp_seed`. Letters, digits, _ . - only. THE USER READS THIS: it is the heading on the page they open and the...
type*string
What kind of value the person will be asked for.one of password · username · totpSeed · apiKey · recoveryCodes · cookie
get_secret_linkReturn the dashboard link for one stored secret this account holds, so you can answer "where is my Acme password?" with somewhere to go. **It returns a URL, never a value** — opening it requires the user to be signed in and to confirm who they are, and only their own browser c...1 params

Return the dashboard link for one stored secret this account holds, so you can answer "where is my Acme password?" with somewhere to go. **It returns a URL, never a value** — opening it requires the user to be signed in and to confirm who they are, and only their own browser c...

Parameters* required
name*string
The stored secret's name, as `list_secrets` shows it.
list_connectionsList the saved logins this account already holds, one entry per login: its `id` (name it in a signed-in call as `{ connection: id }`), the site, which account on that site, whether it works right now (`usable`), and when it was made, last used and last checked. **Call this bef...

List the saved logins this account already holds, one entry per login: its `id` (name it in a signed-in call as `{ connection: id }`), the site, which account on that site, whether it works right now (`usable`), and when it was made, last used and last checked. **Call this bef...

No parameters. Call it with no arguments.

add_connectionGet a sign-in link for one site, so the user can sign Bowmark in to it right now, before any run needs it. Pass the site as a domain (`youtube.com`), a URL, or a provider id. **Call this whenever the user asks to log in, sign in, connect or link an account on a site** — never...2 params

Get a sign-in link for one site, so the user can sign Bowmark in to it right now, before any run needs it. Pass the site as a domain (`youtube.com`), a URL, or a provider id. **Call this whenever the user asks to log in, sign in, connect or link an account on a site** — never...

Parameters* required
connectionstring
Optional. The `id` of a saved login from `list_connections`, to sign back in to it.
site*string
The site to sign in to: a domain (`youtube.com`), a URL, its name, or a provider id.
wait_for_sign_inWait until the user finishes a sign-in link, so you know the moment they are done without asking them. Pass `ref`: `meta.handoff.ref` from a paused run, or `ref` from `add_connection`. **Call it right after you give the user the link, in the same turn.** Write the link in your...2 params

Wait until the user finishes a sign-in link, so you know the moment they are done without asking them. Pass `ref`: `meta.handoff.ref` from a paused run, or `ref` from `add_connection`. **Call it right after you give the user the link, in the same turn.** Write the link in your...

Parameters* required
ref*string
`meta.handoff.ref` from a paused run, or `ref` from `add_connection`.
waitMsnumber
How long to wait for the sign-in to finish, in ms. Default 45000, at most 50000.
lease_ipSome sites (LinkedIn, marked 📍 in `get_library`) only accept a login from the address it signed in from. A dedicated IP is one address that only this account uses, and once the account holds one, every sign-in link and every later call on that login uses it automatically. Cal...4 params

Some sites (LinkedIn, marked 📍 in `get_library`) only accept a login from the address it signed in from. A dedicated IP is one address that only this account uses, and once the account holds one, every sign-in link and every later call on that login uses it automatically. Cal...

Parameters* required
anotherboolean
Buy a second IP although the account holds one. Only when your user asked.
confirmPriceCentsnumber
The price in US cents your user agreed to, from the unconfirmed call. Only this buys.
countrystring
Two-letter country code for the IP, e.g. "US" (the default).
termDaysnumber
How many days the IP is held, paid up front (default 30).
delete_connectionStart deleting a saved login by the `id` `list_connections` returned. **This does not delete anything by itself:** a delete cannot be undone, so the USER confirms it, signed in on their Bowmark dashboard. It returns `confirmUrl` — give that link to the user; it opens a "Delete...1 params

Start deleting a saved login by the `id` `list_connections` returned. **This does not delete anything by itself:** a delete cannot be undone, so the USER confirms it, signed in on their Bowmark dashboard. It returns `confirmUrl` — give that link to the user; it opens a "Delete...

Parameters* required
id*string
The connection `id` from `list_connections`.
logout_connectionSign a saved login out by the `id` `list_connections` returned. Bowmark drops the cookies it held, and where the site supports it (`siteLogout: "supported"` in the reply) the session is ended ON THE SITE too — `siteSignedOut: true` means Bowmark checked the site no longer acce...1 params

Sign a saved login out by the `id` `list_connections` returned. Bowmark drops the cookies it held, and where the site supports it (`siteLogout: "supported"` in the reply) the session is ended ON THE SITE too — `siteSignedOut: true` means Bowmark checked the site no longer acce...

Parameters* required
id*string
The connection `id` from `list_connections`.

Sponsors

Promote your product hereReach 125k+ visitors monthlyPromote your product hereReach 125k+ visitors monthlyAgent CaffeineSponsoredClose your lid, come back to finished workSnugSponsoredThe clipboard manager for the AI eraPromote your product hereReach 125k+ visitors monthlyWaxSponsoredBlock anything with supervision, without erasing your iPhonePromote your product hereReach 125k+ visitors monthlyknobsSponsoredSee your site on any phone, any day, in any language

Configuration

BOWMARK_API_KEY*secret

Required. Your Bowmark API key. Sign up at https://bowmark.ai/sign-up, then create a key at https://bowmark.ai/dashboard/keys. Your first $10 of usage is free.

Readme

Bowmark skill: live, structured data from 750+ websites for your agent

Ask for prices, listings, profiles or reviews by name (Amazon, LinkedIn, YouTube, Airbnb and more) and get typed results back. Every account starts with a free $10.

Add to Cursor Install in VS Code


View the full README on GitHub

Details

Repository
github.com/bowmark-ai/skill
Website
bowmark.ai
Categories
Search & Web Crawling, Automation & Workflows
Package
@bowmark/mcp
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Resources
2
Prompts
1
Tools verified
Nov 6, 2026

Related Search & Web Crawling MCP servers

View all
1nathishdev-netizen avatarDida Mcp Servernathishdev-netizen/dida-mcp-serverHotel search, booking, and review MCP server with 12+ detailed fields per hotel1stars
2ndjordjevic avatarPinRAGndjordjevic/pinragMCP RAG: index PDFs, repos, YouTube, Discord, text; optional YouTube vision; query with citations.1stars
3kokofinance avatarKoKo Finance — Credit Card Advisorkokofinance/koko-mcp-serverAI credit card advisor - search cards, compare portfolios, and optimize rewards1stars
4nobleblocks avatarNobleblocks Mcpnobleblocks/nobleblocks-mcpSearch 340M+ academic papers — citation graphs, semantic similarity, and AI literature reviews.1stars
5nunolima avatarGitLab Documentation MCP Servernunolima/gitlab-docs-mcpSearchable access to GitLab documentation from multiple repositories with full-text search.1stars
6nyxtoolsdev avatarClaude Memory Managernyxtoolsdev/claude-memory-managerCross-session memory for Claude Code — context capture, semantic search, recall1stars