Search arXiv papers, download full text, semantic search, citation graphs, and alerts via MCP.
PepBank Peptide Research MCP: BPC-157, Retatrutide is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Studies and clinical trials for BPC-157, retatrutide, tirzepatide and 160+ peptides, with sources.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http pepbank-peptide-research-mcp-bpc-157-retatrutide https://pepbank.io/mcp
# 2 — ask your agent for something these tools do
# resolve_peptide, get_peptide_brief, get_community_practice and 12 more
PepBank Peptide Research MCP: BPC-157, Retatrutide costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http pepbank-peptide-research-mcp-bpc-157-retatrutide https://pepbank.io/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
15 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Return peptide IDs and name matches for a name, alias or code. Use this before other calls when the name is unclear. Use search_peptides instead to browse or filter many peptides. Matching order: exact alias, normalized alias, trigram similarity, then edit distance. Normalization ignores letter case, spaces, hyphens and symbols. Greek letters use their names, so α-MSH matches alpha-MSH. Edit dista
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Peptide name, alias or code. Example: BPC 157. |
For a dose question, use studied_doses together with get_community_practice. Return a precomputed summary of one peptide: identity, sequence, checked findings by evidence class, trials, key findings with citations, coverage and notices. regulatory gives approval by place and use, plus sport status. Use this for an overview of a known peptide. Use resolve_peptide first for an unclear name, search_f
| Parameter | Type | Required | Notes |
|---|---|---|---|
| peptide | string | yes | Peptide name, alias, slug or ID. Examples: BPC-157, semaglutide, PEP-000001. |
| community | boolean | no | Include community reports. Needs the community dataset grant. Default false. |
| view | string | no | Default compact. |
Return what community sources report about how people use one peptide: uses, regimens (route, amount, how often, how long), reported side effects, cautions and regulatory status notes such as US compounding policy, each line with its sources. Community-reported, not tested in trials. Use it for use, dose, cycle and compounding questions, together with studied_doses from get_peptide_brief. Seller p
| Parameter | Type | Required | Notes |
|---|---|---|---|
| peptide | string | yes | Peptide name, alias, slug or ID. Examples: BPC-157, semaglutide, PEP-000001. |
| view | string | no | Default compact. |
Return peptides with identity and evidence counts. Use this to browse or filter by text, category, kind, evidence level, registry level or the curated launch list. Use resolve_peptide instead for one unclear name, or get_peptide_brief for one peptide summary. evidence_level comes only from checked findings of studies that gave the peptide. registry_level comes from registered trials that test the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | no | Free-text query. Words are combined with AND. Example: tendon healing. |
| category | string | no | Category key, matched exactly: weight_metabolic, recovery_repair, skin, longevity_mitochondrial, brain_mood, gut_digestion, immune_antimicrobial, sexual_health_hormones or growth_hormone_axis. |
| kind | string | no | Peptide kind, for example synthetic_analog. |
| evidence_level | no | Evidence level, from checked findings of studies that gave the peptide only: human_rct (a randomized trial in people), human_other (other designs in people), animal, laboratory, predicted or none. A t | |
| registry_level | no | Registry level, from registered trials that test the peptide and the curated development phase: approved (somewhere, for some use), phase_4, phase_3, phase_2, phase_1, registered (a trial exists, no p | |
| featured | boolean | no | Only peptides on the curated launch list. |
| sort | string | no | featured (default), relevance (default with q), name, evidence (by evidence level, then checked findings), registry (by registry level), publications or findings. |
| cursor | string | no | Opaque cursor from next_cursor of the previous page. Send the same filters again. |
| limit | integer | no | Default 15. Max 15. |
| view | string | no | Default compact. |
Return checked findings with exact total_count and source sentences in included.passages. Each finding is one claim from one paper. Use this for specific outcomes, with filters for peptide, evidence class, design, claim type, peptide role, direction, outcome group, body system and year. Use search_publications instead for paper discovery, or get_peptide_brief for an overview. Each finding has an e
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | no | Free-text query. Words are combined with AND. Example: tendon healing. |
| peptide | string | no | Peptide name, alias, slug or ID. Examples: BPC-157, semaglutide, PEP-000001. |
| evidence_class | no | One or more of human, animal, laboratory, predicted. | |
| design | no | Study design, for example randomized_controlled_trial or animal_in_vivo. | |
| claim_type | no | efficacy_outcome, safety_outcome, pharmacokinetics, activity_measurement, mechanism or other. | |
| peptide_role | no | Role of the peptide in the study: administered (the study gave the peptide), endogenous_level (the study measured the body's own peptide) or other. Without this filter, every role is returned and each | |
| direction | no | Reported direction of the effect. | |
| outcome_group | string | no | Outcome group, matched exactly, for example Wound healing or Body weight. get_evidence_map lists the outcome groups of a peptide. |
| body_system | string | no | Body system, matched exactly: Metabolic and weight, Nervous system and cognition, Endocrine and hormones, Cardiovascular, Musculoskeletal, Immune and inflammation, Reproductive and sexual health, Gast |
| validation | string | no | checked (default): auto_checked and human_verified findings only. all: every finding, also the ones with the status unvalidated, rejected, disputed or out_of_scope (a paper that a scope policy leaves |
| source_status | string | no | Default: active and corrected sources (a published correction does not change a finding). A value here returns only that status. Retracted sources are excluded unless you ask for them. |
| publication_id | string | no | Only findings from this publication (PUB-...). |
| published_from | integer | no | First publication year. |
| published_to | integer | no | Last publication year. |
| include_retracted | boolean | no | Include findings from retracted papers. Default false. |
| sort | string | no | key (default without q): the key-finding rule key_findings_v0.4 (administered first, then evidence class, design tier, analysis role, sample size, citations, newer). relevance (default with q), newest |
| as_of_seq | integer | no | Read the data as it was at this data_seq. Use it to reproduce an earlier answer. |
| cursor | string | no | Opaque cursor from next_cursor of the previous page. Send the same filters again. |
| limit | integer | no | Default 10. Max 20 compact, 10 full. |
| view | string | no | Default compact. |
Return stored papers with citation identifiers and extraction status. Use this for paper discovery, publication dates or unchecked coverage. Use search_findings instead for checked claims and source sentences, or get_peptide_brief for a peptide overview. extraction_status identifies the layer: extracted is layer 1 with checked findings. queued and stored_only are layer 2 without checked findings.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | no | Free-text query. Words are combined with AND. Example: tendon healing. |
| peptide | string | no | Peptide name, alias, slug or ID. Examples: BPC-157, semaglutide, PEP-000001. |
| design | no | Filter by design_hint: the PubMed publication-type tag of the paper, not checked. One of meta_analysis, systematic_review, rct, clinical_trial, observational, case_report, review, animal, in_vitro, pr | |
| extraction_status | string | no | extracted = layer 1 (checked findings). queued or stored_only = layer 2 (not checked). |
| status | no | Publication status, for example retracted. | |
| open_access | boolean | no | Only open-access papers when true. |
| primary_subject | boolean | no | Only papers where the peptide is a main subject (title or MeSH). |
| published_from | integer | no | First publication year. |
| published_to | integer | no | Last publication year. |
| sort | string | no | relevance (default with q), newest (default), oldest, cited or evidence. |
| as_of_seq | integer | no | Read the data as it was at this data_seq. Use it to reproduce an earlier answer. |
| cursor | string | no | Opaque cursor from next_cursor of the previous page. Send the same filters again. |
| limit | integer | no | Default 10. Max 25 compact, 10 full. |
| view | string | no | Default compact. |
Return registered clinical trials with registry status, phase, posted-results status and peptide role. Use this for clinical development and trial records. Use search_findings instead for checked study results, or get_record for one full trial. The default role=tests lists and counts trials that test the peptide. role=measures and role=mentions return entries that only measure or name it. role=all
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | no | Free-text query. Words are combined with AND. Example: tendon healing. |
| peptide | string | no | Peptide name, alias, slug or ID. Examples: BPC-157, semaglutide, PEP-000001. |
| status | no | Registry status, for example RECRUITING or COMPLETED. | |
| phase | no | EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4 or NA. | |
| has_results | boolean | no | Only trials with posted results. |
| study_type | string | no | interventional or observational. |
| role | no | Which registry links count: tests (default: the peptide is among the interventions, so the trial gives it), measures (the peptide is only a measured level or an eligibility term), mentions (named else | |
| sort | string | no | phase (default), updated, start or enrollment. |
| as_of_seq | integer | no | Read the data as it was at this data_seq. Use it to reproduce an earlier answer. |
| cursor | string | no | Opaque cursor from next_cursor of the previous page. Send the same filters again. |
| limit | integer | no | Default 100, max 100 for list. Default 10, max 25 compact, 10 full. |
| view | string | no | Default compact. |
Return live, unchecked papers from Europe PMC. Use this for gaps in database coverage or an explicit live literature search. Use search_publications instead for stored papers, or search_findings for checked claims. Live results have a separate unchecked label.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | yes | Search text for Europe PMC. Example: BPC-157 tendon. |
| peptide | string | no | Limit the search to this peptide's literature query. |
| cursor | string | no | Opaque cursor from next_cursor of the previous page. Send the same filters again. |
| limit | integer | no | Page size, 1 to 25. Default 10. |
Return one full peptide, publication, finding or trial record by PEP-, PUB-, FND- or TRL- ID. A peptide slug, PMID or NCT number also works. Use this for known records or fields omitted from compact results. Use resolve_peptide instead for an unclear name, or search_publications to find papers. as_of_seq selects an earlier data_seq. Use replay_query instead to repeat a saved search.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Record ID. IDs start with PEP-, PUB-, FND- or TRL-. A peptide slug, a PMID or an NCT number also works. |
| as_of_seq | integer | no | Read the data as it was at this data_seq. Use it to reproduce an earlier answer. |
Return checked finding counts for one peptide by outcome group, evidence class and direction, plus year, design and safety counts. Use this to inspect evidence coverage and gaps. Use search_findings instead for individual claims and source sentences, or compare_peptides for several peptides. Counts use administered findings only. The endogenous block counts measurements of the body's own peptide.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| peptide | string | yes | Peptide name, alias, slug or ID. Examples: BPC-157, semaglutide, PEP-000001. |
| view | string | no | Default compact. |
Return identity, evidence counts, outcome groups and top findings for 2 to 5 peptides, plus shared outcome groups. Use this for a comparison in one call. Use get_peptide_brief instead for a detailed summary of one peptide. The result compares evidence without ranking peptides as better or worse. Each finding has an evidence class: human, animal, laboratory or predicted. A count of 0 human findings
| Parameter | Type | Required | Notes |
|---|---|---|---|
| peptides | yes | 2 to 5 peptide names, slugs or IDs. | |
| view | string | no | Default compact. |
Return record change events in sequence order. Use this to synchronize data after since_seq, with 0 for full history. Without since_seq, the response gives the newest page. next_since_seq supplies the continuation position. Use get_freshness instead for source import times, or get_record with as_of_seq for an earlier record.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| since_seq | integer | no | Return events after this seq, or the newest page when omitted. Set 0 for full history. |
| entity_type | string | no | Only changes for this record type. |
| limit | integer | no | 1 to 1000. Default 100. MCP: default 25, at most 50. |
Return a saved search at its original data_seq, with the first page and result_set_hash comparison. Use this to check whether a recorded query reproduces identical data. Use search_findings with as_of_seq instead for a new search at an earlier sequence, or get_record with as_of_seq for one earlier record.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query_id | string | yes | query_id from a search_response. |
| view | string | no | Default compact. |
Return source import and extraction times from stored study results. Use this to inspect data freshness. Use get_changes instead for record events, or get_my_usage for caller quotas. lag_hours measures time since success, not upstream backlog. source_latest_known is not reported yet and remains null.
No parameter schema on file.
Return the caller's plan, grants, quotas and usage in the current windows. Use this to inspect access limits and remaining allowances. Use get_freshness instead for source import times, or get_changes for record updates. This tool reports account access, not evidence coverage.
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install PepBank Peptide Research MCP: BPC-157, Retatrutide or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| resolve_peptide | untrusted-input | untrusted-input: keyword "browse" |
| get_peptide_brief | no tags | |
| get_community_practice | no tags | |
| search_peptides | untrusted-input | untrusted-input: keyword "browse" |
| search_findings | no tags | |
| search_publications | no tags | |
| search_trials | no tags | |
| search_live_sources | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_record | no tags | |
| get_evidence_map | no tags | |
| compare_peptides | no tags | |
| get_changes | no tags | |
| replay_query | no tags | |
| get_freshness | no tags | |
| get_my_usage | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.5.3.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish PepBank Peptide Research MCP: BPC-157, Retatrutide can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.