Phở Research Tools

Checks AI-written references against Crossref, PubMed and OpenAlex. Formats citations, PRISMA.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
99%
Qualität der Benennung
96%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,809Tokens (Tool-Definitionen)
~7.6 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.98% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "pho-research-tools": {
      "url": "https://mcp.pho.chat/mcp"
    }
  }
}

Remote-Endpunkte

https://mcp.pho.chat/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢verify_references(references)

Check every reference in a list against Crossref, PubMed and OpenAlex and report, for each one, whether the paper really exists and whether the details are right. Call this before presenting any reference list to the user, including references you wrote yourself. Input: a pasted reference list in any common style (APA, Vancouver, numbered, mixed), BibTeX, RIS, CSL-JSON, or one DOI per line. Each reference gets exactly one status: verified, verified_with_corrections (real paper, some details wrong; corrected metadata included), likely_fabricated (no such paper exists), not_found (could not be confirmed either way), retracted, or ambiguous (several papers fit). Never present a likely_fabricated, not_found or ambiguous reference as real, and always tell the user about a retracted one. At most 50 references per call.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "references": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100000,
      "description": "The reference list exactly as written: any citation style, BibTeX, RIS, CSL-JSON, or DOIs one per line."
    }
  },
  "required": [
    "references"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer"
        },
        "verified": {
          "type": "integer"
        },
        "verified_with_corrections": {
          "type": "integer"
        },
        "likely_fabricated": {
          "type": "integer"
        },
        "not_found": {
          "type": "integer"
        },
        "retracted": {
          "type": "integer"
        },
        "ambiguous": {
          "type": "integer"
        },
        "not_checked": {
          "type": "integer"
        }
      },
      "required": [
        "total",
        "verified",
        "verified_with_corrections",
        "likely_fabricated",
        "not_found",
        "retracted",
        "ambiguous",
        "not_checked"
      ],
      "additionalProperties": false
    },
    "references": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer"
          },
          "status": {
            "type": "string",
            "enum": [
              "verified",
              "verified_with_corrections",
              "likely_fabricated",
              "not_found",
              "retracted",
              "ambiguous",
              "not_checked"
            ]
          },
          "confidence": {
            "type": "number"
          },
          "summary": {
            "type": "string"
          },
          "cited": {
            "type": "string"
          },
          "corrected": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "authors": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "year": {
                "type": "integer"
              },
              "journal": {
                "type": "string"
              },
              "volume": {
                "type": "string"
              },
              "issue": {
                "type": "string"
              },
              "pages": {
                "type": "string"
              },
              "doi": {
                "type": "string"
              },
              "pmid": {
                "type": "string"
              }
            },
            "required": [
              "title",
              "authors"
            ],
            "additionalProperties": false
          },
          "mismatches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "cited": {
                  "type": "string"
                },
                "found": {
                  "type": "string"
                }
              },
              "required": [
                "field",
                "cited",
                "found"
              ],
              "additionalProperties": false
            }
          },
          "links": {
            "type": "object",
            "properties": {
              "doi": {
                "type": "string"
              },
              "pubmed": {
                "type": "string"
              },
              "openalex": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "retraction": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string"
              },
              "notices": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    },
                    "date": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "notice_doi": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "label",
                    "source"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "status",
              "notices"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "index",
          "status",
          "summary",
          "cited",
          "mismatches",
          "links"
        ],
        "additionalProperties": false
      }
    },
    "quota": {
      "type": "object",
      "properties": {
        "plan": {
          "type": "string",
          "enum": [
            "anon",
            "free"
          ]
        },
        "metric": {
          "type": "string",
          "enum": [
            "verifications",
            "calls"
          ]
        },
        "used": {
          "type": "integer"
        },
        "limit": {
          "type": "integer"
        },
        "resets": {
          "type": "string"
        }
      },
      "required": [
        "plan",
        "metric",
        "used",
        "limit",
        "resets"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "summary",
    "references",
    "quota"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢format_citations(references, style, output, verify)

Format references in a citation style (APA 7, MLA 9, Chicago author-date, Harvard, Vancouver, IEEE, AMA) or export them as BibTeX, RIS or CSL-JSON. By default every reference is first verified against Crossref, PubMed and OpenAlex, and verified references are formatted from the database record, so wrong years, pages or author names in the input are corrected. References that could not be verified are formatted exactly as written and flagged in `entries[].warnings`; tell the user about them. Returns the bibliography and, for text and html output, the matching in-text citation for each reference.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "references": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100000,
      "description": "References in any form: a pasted list in any style, BibTeX, RIS, CSL-JSON, or DOIs one per line."
    },
    "style": {
      "type": "string",
      "enum": [
        "apa",
        "mla",
        "chicago",
        "harvard",
        "vancouver",
        "ieee",
        "ama"
      ],
      "default": "apa",
      "description": "Citation style: apa (APA 7), mla (MLA 9), chicago (Chicago author-date), harvard (Harvard), vancouver (Vancouver), ieee (IEEE), ama (AMA). Ignored for bibtex/ris/csl-json output."
    },
    "output": {
      "type": "string",
      "enum": [
        "text",
        "html",
        "bibtex",
        "ris",
        "csl-json"
      ],
      "default": "text",
      "description": "text (plain bibliography), html, bibtex, ris or csl-json."
    },
    "verify": {
      "type": "boolean",
      "default": true,
      "description": "Verify each reference before formatting (recommended). Set false only for references already verified in this conversation; they are then formatted exactly as given."
    }
  },
  "required": [
    "references"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "style": {
      "type": "string"
    },
    "style_title": {
      "type": "string"
    },
    "output": {
      "type": "string"
    },
    "content": {
      "type": "string"
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer"
          },
          "verified": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          },
          "retracted": {
            "type": "boolean"
          },
          "bibliography": {
            "type": "string"
          },
          "in_text": {
            "type": "string"
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "index",
          "verified",
          "retracted",
          "bibliography",
          "in_text",
          "warnings"
        ],
        "additionalProperties": false
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "quota": {
      "type": "object",
      "properties": {
        "plan": {
          "type": "string",
          "enum": [
            "anon",
            "free"
          ]
        },
        "metric": {
          "type": "string",
          "enum": [
            "verifications",
            "calls"
          ]
        },
        "used": {
          "type": "integer"
        },
        "limit": {
          "type": "integer"
        },
        "resets": {
          "type": "string"
        }
      },
      "required": [
        "plan",
        "metric",
        "used",
        "limit",
        "resets"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "style",
    "style_title",
    "output",
    "content",
    "entries",
    "warnings"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_papers(query, year_from, year_to, open_access_only, study_types, ...)

Search PubMed and OpenAlex for real papers. Every result carries a DOI or PubMed ID that resolves, so nothing returned can be fabricated. Use it to find sources for a claim or a topic instead of recalling references from memory. Filters: publication year range, open-access only, study types, and the number of results. Retracted papers are left out by default. Preprints are included and marked `preprint: true`; tell the user a preprint is not peer reviewed. Results are ranked by the databases' relevance, alternating between the two sources.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 500,
      "description": "What to look for, in English keywords (e.g. \"sepsis early antibiotics mortality\")."
    },
    "year_from": {
      "type": "integer",
      "minimum": 1800,
      "maximum": 2100,
      "description": "Earliest publication year, inclusive."
    },
    "year_to": {
      "type": "integer",
      "minimum": 1800,
      "maximum": 2100,
      "description": "Latest publication year, inclusive."
    },
    "open_access_only": {
      "type": "boolean",
      "default": false,
      "description": "Only papers with a free, legal full text."
    },
    "study_types": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 60
      },
      "maxItems": 5,
      "description": "Study designs. Known ids use database filters: rct, clinical-trial, systematic-review, meta-analysis, review, guideline, cohort, case-control, case-report, observational. Any other text is added as keywords."
    },
    "max_results": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10,
      "description": "Number of results, 1–50."
    },
    "include_retracted": {
      "type": "boolean",
      "default": false,
      "description": "Keep retracted papers (flagged) instead of leaving them out."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "ok",
        "unavailable"
      ]
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "authors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "year": {
            "type": "integer"
          },
          "journal": {
            "type": "string"
          },
          "doi": {
            "type": "string"
          },
          "pmid": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "open_access": {
            "type": "object",
            "properties": {
              "is_oa": {
                "type": "boolean"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "is_oa"
            ],
            "additionalProperties": false
          },
          "found_in": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "study_type_match": {
            "type": "string"
          },
          "retracted": {
            "type": "boolean"
          },
          "preprint": {
            "type": "boolean"
          },
          "cited_by_count": {
            "type": "integer"
          }
        },
        "required": [
          "rank",
          "title",
          "authors",
          "url",
          "links",
          "open_access",
          "found_in",
          "retracted",
          "preprint"
        ],
        "additionalProperties": false
      }
    },
    "excluded": {
      "type": "object",
      "properties": {
        "no_identifier": {
          "type": "integer"
        },
        "retracted": {
          "type": "integer"
        },
        "notices": {
          "type": "integer"
        },
        "outside_years": {
          "type": "integer"
        }
      },
      "required": [
        "no_identifier",
        "retracted",
        "notices",
        "outside_years"
      ],
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "query",
    "status",
    "results",
    "excluded",
    "warnings"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_retractions(dois)

Check DOIs for retractions, expressions of concern and corrections, using Crossref (which includes Retraction Watch data). Status per DOI: retracted, concern, corrected, other_notice, no_notice (nothing on record), not_in_crossref, invalid_doi, rate_limited or lookup_failed (could not be checked; say so, do not report it as clean). Use it before citing a paper whose status you are unsure of, or to screen a whole reference list. verify_references already includes this check.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "dois": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 300
      },
      "minItems": 1,
      "maxItems": 50,
      "description": "DOIs, bare (10.1000/xyz) or as https://doi.org/ links."
    }
  },
  "required": [
    "dois"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "doi": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "notices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "date": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "notice_doi": {
                  "type": "string"
                }
              },
              "required": [
                "type",
                "label",
                "source"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "doi",
          "status",
          "notices"
        ],
        "additionalProperties": false
      }
    },
    "counts": {
      "type": "object",
      "additionalProperties": {
        "type": "integer"
      }
    },
    "quota": {
      "type": "object",
      "properties": {
        "plan": {
          "type": "string",
          "enum": [
            "anon",
            "free"
          ]
        },
        "metric": {
          "type": "string",
          "enum": [
            "verifications",
            "calls"
          ]
        },
        "used": {
          "type": "integer"
        },
        "limit": {
          "type": "integer"
        },
        "resets": {
          "type": "string"
        }
      },
      "required": [
        "plan",
        "metric",
        "used",
        "limit",
        "resets"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "results",
    "counts",
    "quota"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢prisma_flow_diagram(counts, other_methods_column, footnotes)

Draw a PRISMA 2020 flow diagram for a new systematic review from the record counts, as a PNG image plus an SVG and download links. Give the counts you have; boxes that follow arithmetically from others are filled in and marked as derived. The tool checks that the numbers add up (records identified minus removed equals screened, and so on) and returns a warning naming each box that does not, with the value it should have. Show those warnings to the user; the diagram always shows the numbers exactly as given. Add `otherMethods` counts to draw the second column (websites, organisations, citation searching).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "counts": {
      "type": "object",
      "properties": {
        "databases": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100000000,
          "description": "Records identified from databases (total)."
        },
        "databaseSources": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "n": {
                "$ref": "#/properties/counts/properties/databases"
              }
            },
            "required": [
              "name",
              "n"
            ],
            "additionalProperties": false
          },
          "maxItems": 30,
          "description": "Per-database counts, e.g. [{\"name\":\"MEDLINE\",\"n\":812}]."
        },
        "registers": {
          "$ref": "#/properties/counts/properties/databases",
          "description": "Records identified from registers."
        },
        "registerSources": {
          "type": "array",
          "items": {
            "$ref": "#/properties/counts/properties/databaseSources/items"
          },
          "maxItems": 30
        },
        "duplicatesRemoved": {
          "$ref": "#/properties/counts/properties/databases"
        },
        "automationIneligible": {
          "$ref": "#/properties/counts/properties/databases",
          "description": "Records marked ineligible by automation tools."
        },
        "otherRemoved": {
          "$ref": "#/properties/counts/properties/databases",
          "description": "Records removed for other reasons before screening."
        },
        "recordsScreened": {
          "$ref": "#/properties/counts/properties/databases"
        },
        "recordsExcluded": {
          "$ref": "#/properties/counts/properties/databases"
        },
        "reportsSought": {
          "$ref": "#/properties/counts/properties/databases",
          "description": "Reports sought for retrieval."
        },
        "reportsNotRetrieved": {
          "$ref": "#/properties/counts/properties/databases"
        },
        "reportsAssessed": {
          "$ref": "#/properties/counts/properties/databases",
          "description": "Reports assessed for eligibility."
        },
        "reportsExcludedReasons": {
          "type": "array",
          "items": {
            "$ref": "#/properties/counts/properties/databaseSources/items"
          },
          "maxItems": 30,
          "description": "Reports excluded, one entry per reason."
        },
        "reportsExcluded": {
          "$ref": "#/properties/counts/properties/databases",
          "description": "Total reports excluded, when reasons are not itemised."
        },
        "studiesIncluded": {
          "$ref": "#/properties/counts/properties/databases",
          "description": "Studies included in the review."
        },
        "reportsIncluded": {
          "$ref": "#/properties/counts/properties/databases",
          "description": "Reports of included studies."
        },
        "otherMethods": {
          "type": "object",
          "properties": {
            "websites": {
              "$ref": "#/properties/counts/properties/databases"
            },
            "organisations": {
              "$ref": "#/properties/counts/properties/databases"
            },
            "citationSearching": {
              "$ref": "#/properties/counts/properties/databases"
            },
            "sources": {
              "type": "array",
              "items": {
                "$ref": "#/properties/counts/properties/databaseSources/items"
              },
              "maxItems": 30
            },
            "reportsSought": {
              "$ref": "#/properties/counts/properties/databases"
            },
            "reportsNotRetrieved": {
              "$ref": "#/properties/counts/properties/databases"
            },
            "reportsAssessed": {
              "$ref": "#/properties/counts/properties/databases"
            },
            "reportsExcludedReasons": {
              "type": "array",
              "items": {
                "$ref": "#/properties/counts/properties/databaseSources/items"
              },
              "maxItems": 30
            },
            "reportsExcluded": {
              "$ref": "#/properties/counts/properties/databases"
            }
          },
          "additionalProperties": false,
          "description": "Counts for the \"identification via other methods\" column."
        }
      },
      "additionalProperties": false
    },
    "other_methods_column": {
      "type": "boolean",
      "description": "Force the other-methods column on or off. Default: drawn when otherMethods counts are given."
    },
    "footnotes": {
      "type": "boolean",
      "default": true,
      "description": "Print the template footnotes and source attribution."
    }
  },
  "required": [
    "counts"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "image_url": {
      "type": "string"
    },
    "svg_url": {
      "type": "string"
    },
    "svg": {
      "type": "string"
    },
    "width": {
      "type": "number"
    },
    "height": {
      "type": "number"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "field": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "expected": {
            "type": "number"
          },
          "given": {
            "type": "number"
          }
        },
        "required": [
          "code",
          "field",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "counts": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number"
          },
          "derived": {
            "type": "boolean"
          }
        },
        "required": [
          "derived"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "svg",
    "width",
    "height",
    "warnings",
    "counts"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools