Skip to main content
Glama
741,830 tools. Updated 2026-11-04 10:00

"A server for searching academic papers and retrieving metadata" matching MCP tools:

  • Return your asset METADATA only (id, truncated prompt, model, created date), newest first. This does NOT display images and must NOT be used to show pictures — if the user says "show me / display my last image(s)", call show_media instead (it renders them; pass count=N for several). Use list_my_assets only when you need ids/metadata for another tool (e.g. add_editor_library_assets) or a plain text list.
    ConnectorNo auth
  • Fast code search across any public git repo. Returns file paths, line numbers, and code snippets with context. Supports regex, boolean queries, fuzzy matching, and structural filters (declarations, usages, strings, comments). Dependency/build directories excluded by default. Searching for leaked secrets? Call code_analyze instead and read security_summary — it runs a real secret and credential scanner over the whole repository, where searching for key prefixes like "sk-", "ghp_" or "AIza" only matches the spellings you happened to think of.
    ConnectorNo auth
  • Dry-run a structured filter over recent papers WITHOUT creating a watch — the tuning loop. Returns {window_days, needs_similarity, match_count, sample} so you can iterate (add a category, raise min_novelty, switch the collection relation) before saving with create_watch. Structured watches rank by 'rising' (forecasted breakout impact) by default, and tighten with min_impact_pct for an anti-noise watch that surfaces only the breakout papers in your niche. NOTE: for a similarity filter, match_count is capped at 200 (the cosine fetch window) and so saturates at 200 on broad/hot topics — tune by the `sample` scores and narrow with categories/min_novelty (or a higher similar floor) rather than relying on match_count alone. Read-only. Requires SF_API_KEY.
    ConnectorNo auth
  • Discover sheet names and used dimensions before reading or editing a WorkPaper. Returns metadata only; use read_range or read_cell for values.
    ConnectorNo auth
  • Find quantum computing researchers and potential collaborators from 1000+ active profiles. Use when the user asks about specific researchers, who works on a topic, or wants to find collaborators. NOT for jobs (use searchJobs) or papers (use searchPapers). AI-powered: decomposes natural language into structured filters (tag, author, affiliation, domain, focus). Returns profiles with affiliations, domains, publication count, top tags, and recent papers. Data from arXiv papers published in the last 12 months. Max 50 results. Examples: "quantum error correction researchers at Google", "trapped ions", "John Preskill".
    ConnectorNo auth
  • Enumerate every available UploadKit docs page with title, description, URL, and path. When to use: to discover what documentation exists before targeted searching, or to orient yourself around the shape of the docs site. Prefer search_docs when you already have a concrete question. Returns: JSON { count, generatedAt, pages: [{ path, url, title, description }] }. Pages are sorted alphabetically by path. Read-only, static at bundle time, idempotent.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables software and AI to work with accounting engagements through portable concepts such as trial balances, adjustments, working papers, and review notes, with declared adapter capabilities and validate-before-commit mutations.
    5
    1
    Apache 2.0

Matching MCP Connectors

  • Cloudflare Workers MCP server: font-metadata

  • The verified hub for conferences and journals. Powered by AI to match your scholarly ambitions with the world's most prestigious academic opportunities.

  • Returns instructions for migrating from an existing auth provider to PropelAuth in a fullstack Nextjs App Router or Nextjs Pages Router application. If the user is using Next.js as just a frontend (e.g. client-side rendered with or without server routes), use the migrate_to_propelauth_frontend tool. Guidance includes installation and configuration, retrieving user or org information, logging users out, redirecting users to login, and more. Make sure to use the 'Installation' guidance first. It is important to call every guidance to ensure a successful integration. Do not update a component/hook/etc from the auth provider until you receive guidance about that component/hook/etc
    ConnectorNo auth
  • Calculate what percentage one number is of another. Given a value and a total, returns the percentage, decimal form, and simplified fraction. For example, 3 out of 4 yields 75%, 0.75, and '3/4'. Commonly used for test scores, survey results, financial ratios, completion rates, and unit conversions. Chain with percentage_increase to compare successive measurements or use with test_grade for academic scoring.
    ConnectorNo auth
  • Resolve a city or airport name or code before searching flights. Returns typed values such as city:SHA to search every catalog airport in Shanghai or airport:SHA for Hongqiao only. Pass the selected value unchanged to search_flights. Ask the traveler when multiple results are plausible.
    ConnectorNo auth
  • WHEN: you know the EXACT object name. Triggers: user gives an exact name like 'SalesTable', 'CustTable', 'VendInvoiceJour', any PascalCase D365 object name. Get complete details: all fields, methods, relations, indexes, source code, and metadata. COST NOTE: this returns the FULL object and can be very large (100KB+ for big tables/forms like SalesLine). If you ONLY need relations / FK / DeleteActions / data sources / who-references, call get_relation_graph instead -- it is O(1) and roughly 6x lighter (no source code). Reserve get_object_details for when you genuinely need field details, method bodies, or source code. Also merges live disk source when a custom model path is configured (disk takes priority). Pass `methodName` to get the FULL body of a specific method -- without it, only signatures are returned. Calling twice -- first without methodName to get the full structure and method table, then again with a specific methodName for its full body -- is the CORRECT and INTENDED two-step pattern. Do NOT call a third time for the same object. DISAMBIGUATION: when a name exists as several AOT types (e.g. a Table AND a Form both named 'SalesLine'), this returns the PRIMARY type (Table/Class/Entity before the much heavier Form) and notes the others -- pass `aotType` (e.g. 'AxTable', 'AxForm', or shorthand 'table'/'form'/'class') to pick a specific one. This prevents dumping the heaviest object and truncating the rest. NOT for searching -- use search_d365_code when the name is uncertain. NOT for listing a model's objects -- use list_objects for that.
    ConnectorNo auth
  • Search 130,000+ peer-reviewed sustainability papers and the account's uploads. Articles from Sustainability, the Journal of Cleaner Production, the International Journal of Life Cycle Assessment and the Journal of Industrial Ecology, 1993 to the present — LCA, material flows, energy, food and agriculture, materials, waste, buildings and policy. English-language; most entries are abstract and metadata only. Returns ref-numbered metadata only (title, authors, year, journal, DOI) — no abstract, no excerpts. Refs (e.g. `k1`, `k7`) persist for this session and are accepted by `knowledge_get_excerpts` (passages) and `knowledge_get_full_document` (the full paper). `limit` defaults to 12; a larger limit suits broad literature surveys. Optional filters: `journal` (its full name) and `year_from` / `year_to`.
    ConnectorAPI key
  • Create a STANDING WANT: keep searching for what the user wants to buy and get notified when a NEW match appears, across sessions. Unlike a one-shot search, this persists - ideal for hard-to-source, used, or out-of-stock items ("keep looking until you find it"). Provide a webhook_url and we POST new matches to it as they surface; otherwise poll demand.list_watches. Same query shape and enforced constraints as demand.search. WITHOUT AN API KEY this works too, under limits: no webhooks, three standing wants at a time, a six-hour minimum re-check, and a seven-day life. Any limit applied to your request comes back in `notes`.
    ConnectorNo auth
  • Use this to confirm which teas.co.uk account is linked, for example before my_orders, my_subscriptions or rewards_balance, or when the customer asks which account they are signed in with. It takes no input: the account comes from the sign in. It returns an opaque account id that stays the same across sign ins and reconnections, with a display name and email for showing to the customer. Without a linked account it returns an error, with a sign in prompt where the host supports one. Not needed for shopping: searching, the basket and checkout work without an account.
    ConnectorNo auth
  • Multi-step deep research: search, scrape, enrich entities, and synthesize into a cited report. Returns a report (title, summary, sections, key findings, confidence) with numbered sources and the people and companies it found, enriched. Use for a question that needs many sources and a synthesized, cited answer. It takes far longer and costs more than search, which suits a quick fact. Cost: standard 10 credits, deep 20 credits, comprehensive 35 credits, charged only when a call succeeds. Options change it: include_analysis true +5, academic in source_types +2, enrich_entities false -3, synthesis false -5.
    ConnectorNo auth
  • Search Lacuna's ML/AI corpus for papers, research directions, authors, venues, institutions, novel research hypotheses, and research resources (code repositories, datasets, models, and demos linked to papers). For novel ML/AI research ideas, use search_type="hypothesis", then get_hypothesis on promising results. search_type accepts all, cluster, paper, author, institution, venue, hypothesis, or resource. Use paper for literature and get_paper to read a result. Use other sources for biographies, news, and non-research web content. Resources: search_type="resource" searches GitHub repositories, Hugging Face datasets/models, and Zenodo records that Lacuna has linked to at least one paper. To find benchmark or evaluation datasets, use search_type="resource" with resource_kind="dataset" (for example query "image classification benchmark" or a dataset name like "ImageNet"). resource_kind accepts codebase, dataset, model, or demo (one value or a list); provider accepts github, huggingface, or zenodo. Both filters require search_type "resource" or "all" (with either filter set, only resources are returned). Each result has an external `url`, a Lacuna `context_url`, and `linked_paper_count`; call get_resource on its id to list the linked papers (with their relationship to the resource), then get_paper on those papers for reported results and numbers. Resource search does not support date_from/date_to, venue, year sorting, or semantic ranking. ranking_profile accepts: - default / lexical (default): production ranking; relevance-sorted paper searches combine lexical and semantic retrieval when fields is unset. - semantic: conceptual paper retrieval; supported for paper and all. - bm25_title_abstract / bm25: lexical paper matching over those fields. sort accepts relevance (default), year_desc, or year_asc. Semantic ranking cannot use year sorting; constrain recency with date_from/date_to instead. date_from and date_to are inclusive YYYY, YYYY-MM, or YYYY-MM-DD bounds. author_id_or_url constrains a paper search to one author. Pass an author ID or Lacuna author page URL; it requires search_type="paper". fields optionally restricts and weights lexical fields, for example "title^4,abstract". Supported names are title, abstract, summary, concepts, name, top_names, and venue, plus description, topics, provider_key, and paper_titles for resources (a resource's title already includes its description, topics, README text, and linked paper titles). Fields must exist on the selected search_type, weights must be within 0 < weight <= 100, and fields cannot be combined with semantic ranking.
    ConnectorNo auth
  • Use this when the user wants clips from an episode on a particular topic or for a particular audience, e.g. "clips about creativity for artists" or "moments for young entrepreneurs". Searches the episode again for moments that fit the focus, skipping clips already found, and adds what it finds to the episode's clips. It may find fewer than usual, or none, when little in the episode fits; say so plainly. Returns each new clip's number, ref, title and why it fits. Takes about a minute; if it is still searching, call it again with the same focus to wait for the result. Do not use before get_episode reports the episode ready.
    ConnectorNo auth
  • Semantic search over academic references by title + abstract, across languages. Only references with an abstract (about half) are covered; use search_references for the rest. Runs the corpus model, EmbeddingGemma 2, locally with no API key (first use downloads ~350 MB). similarity_score only ranks within one query.
    ConnectorNo auth
  • Set or unset the value of one or more of a document's metadata. Use this tool when: - You want to fill in (or change) a document's metadata values - You want to remove a value the document currently has for a metadata Each entry in `metadata_value_changes` identifies the metadata by its `metadata_uuid` or `name` (use list-account-metadata, or get-document-info with include=["metadata_values"], to discover them) — sending an identifier that does not match any of the account's metadata will fail validation. Each entry also has an `operation`: - `set`: create the metadata value (if the document does not have one yet) or update the existing value - `unset`: remove the document's value for the metadata (no value is required) For a `set`, take note of the metadata's `value_type` when constructing the value. These are the rules to use when constructing the `value` string: - number: the numeric value in a string, using '.' as the decimal separator -> "1234.56" - currency: concatenate the ISO currency code and the numeric value with a ';' -> "EUR;1000.10" (for one thousand Euro and ten cents) - currency_duration: same as currency, but append another ';' followed by either `monthly` or `yearly` -> "EUR;1000.10;monthly" / "USD;1000.10;yearly" - select: one of the options from the metadata's `select_values` list -> "red" - multi_select: an array of the selected values in the `values` field -> ["red", "blue"] - bool: either of the strings "true" (displayed to the user as "Yes") or "false" (displayed to the user as "No") -> "true" / "false" - duration: a PHP-compatible duration specification -> "P6D" (6 days), "P2W" (2 weeks), "PT12H" (12 hours) - date: the date in the format "YYYY-MM-DD" -> "2026-12-31" - email, text, textarea, or any type not listed above: a string -> "test@example.com" Some metadata cannot be changed this way (e.g. computed metadata, or metadata whose value is driven by a dynamic field) — attempting to do so will fail validation.
    Connector
    Destructive
    OAuth
  • MANDATORY: Call score in every interaction turn that uses search or batch_search. ## When to submit An interaction turn starts with a user request and ends when you send your final response for that request. It may include multiple tool calls. Track pending search feedback within this turn; do not wait for a later user message to submit it. Submit at BOTH of these checkpoints whenever they apply: 1. During the turn: as soon as 10 successful searches are pending, call score for those 10 before starting another search. If completed batch or parallel calls leave more than 10 pending, submit batches of 10 until fewer than 10 remain, then continue your work. 2. At the end of the turn's searching: submit all remaining pending feedback before sending your final response, even if only one search is pending or you could not fully answer the user. Do not wait to reach 10. Count one successful search call as one search, and each successful batch_search sub-query as one search. Each needs its own request_id and score. Successful searches with empty results count too; failed searches and extract calls do not. If you search again after submitting feedback, collect the new results and apply the same checkpoints. Examples: - 3 searches in a turn: submit 3 entries when searching ends, before your final response. - 10 searches in a turn: submit 10 immediately; if no further searches occur, no additional submission is needed. - 12 searches in a turn: submit 10 at the threshold, then the remaining 2 when searching ends. Each call must contain 1-10 entries. Never send an empty batch. Do not resubmit request_ids already queued. If no eligible searches are pending, no submission is needed. Do not skip feedback because the results were good: a perfect result still needs score 5. Never invent an ID when neither the result's YAML block nor its metadata provides one. Feedback is free and never consumes quota or credits. A queued response acknowledges receipt, not database persistence. ## Fields - request_id: Copy from the YAML block at the end of each successful search result, including each batch_search sub-query. The same IDs remain available in metadata (_meta.request_id for search, the corresponding entry of _meta.request_ids for batch_search). Never invent it. - score: Integer 1-5, judged against the criteria below. Score each search or sub-query separately. ## Scoring criteria (use the FIRST level that matches) 5 - Fully answered. The results directly support a complete answer; no extra extract or follow-up search is needed. 4 - Mostly answered. Minor gaps remain, but they do not block the answer. 3 - Partially answered. You still need another search or an extract call to answer well; coverage is incomplete but some results are usable. 2 - Largely insufficient. Most results are irrelevant, outdated, or too shallow; only a small part is usable. 1 - Not useful at all. Results are off-topic, empty, or have nothing to do with the query. Judge the results against the user's actual information need, not against how confident the snippets sound. A partial answer with unrelated extras is 3, not 4.
    ConnectorNo auth
  • Set or unset the value of one or more of a document's metadata. Use this tool when: - You want to fill in (or change) a document's metadata values - You want to remove a value the document currently has for a metadata Each entry in `metadata_value_changes` identifies the metadata by its `metadata_uuid` or `name` (use list-account-metadata, or get-document-info with include=["metadata_values"], to discover them) — sending an identifier that does not match any of the account's metadata will fail validation. Each entry also has an `operation`: - `set`: create the metadata value (if the document does not have one yet) or update the existing value - `unset`: remove the document's value for the metadata (no value is required) For a `set`, take note of the metadata's `value_type` when constructing the value. These are the rules to use when constructing the `value` string: - number: the numeric value in a string, using '.' as the decimal separator -> "1234.56" - currency: concatenate the ISO currency code and the numeric value with a ';' -> "EUR;1000.10" (for one thousand Euro and ten cents) - currency_duration: same as currency, but append another ';' followed by either `monthly` or `yearly` -> "EUR;1000.10;monthly" / "USD;1000.10;yearly" - select: one of the options from the metadata's `select_values` list -> "red" - multi_select: an array of the selected values in the `values` field -> ["red", "blue"] - bool: either of the strings "true" (displayed to the user as "Yes") or "false" (displayed to the user as "No") -> "true" / "false" - duration: a PHP-compatible duration specification -> "P6D" (6 days), "P2W" (2 weeks), "PT12H" (12 hours) - date: the date in the format "YYYY-MM-DD" -> "2026-12-31" - email, text, textarea, or any type not listed above: a string -> "test@example.com" Some metadata cannot be changed this way (e.g. computed metadata, or metadata whose value is driven by a dynamic field) — attempting to do so will fail validation.
    Connector
    Destructive
    OAuth
  • Lists the sitemap files one Jumia storefront publishes (products, brands, categories and curated pages), each with name, type, language, last-modified date and URL. Pass a returned name to jumia_sitemap_urls to read the URLs in it. Use it to discover the product catalog in bulk instead of searching. Jumia challenges many connections, so a call can take up to about 50 seconds and may fail with a retryable 503.
    ConnectorNo auth