evipedia-mcp-dev 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +16 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ Use this server whenever a user asks whether an intervention works, how strong t
36
36
 
37
37
  Typical workflow:
38
38
  1. Discover \u2014 'search_reviews(query)' to find reviews matching an intervention name, synonym, drug class, or category; or 'list_reviews()' to enumerate/browse the entire catalogue as {topic, slug} pairs (topic = canonical topic; slug = the identifier you pass to get_review/get_conclusion, with the full review at https://evipedia.ai/{slug} and raw Markdown at https://evipedia.ai/{slug}.md). A bare topic implies the default Health & Longevity goal; an explicit goal like "Botox for Skin Rejuvenation" targets that goal.
39
- 2. Read \u2014 take a review's slug and call 'get_conclusion(slug)' for the quick evidence-based bottom line, or 'get_review(slug)' for the complete review as Markdown (full methodology, findings, safety, dosing, and references) when the user wants depth or citations.
39
+ 2. Read \u2014 take a review's slug and call 'get_conclusion(slug)' for the quick evidence-based bottom line, or 'get_review(slug)' for the complete review as Markdown (full methodology, findings, safety, dosing, and references) when the user wants depth or citations. Call 'get_metadata(slug)' for structured JSON metadata not in the Markdown \u2014 review dates (freshness), the typed intervention entity, and a machine-readable citation list with PubMed PMIDs.
40
40
  3. Contribute \u2014 if the user wants an intervention reviewed that isn't in the catalogue, 'suggest_intervention(...)' submits it to the evipedia team. Only call this when the user explicitly asks to propose one; it sends real data to the team.
41
41
 
42
42
  'get_version()' reports the running build. Notes: an intervention may have multiple reviews for different goals (distinguished by canonical topic, e.g. "Botox for Skin Rejuvenation"). These are evidence reviews for information, not personalized medical advice \u2014 present conclusions as evidence summaries, not prescriptions.`;
@@ -107,6 +107,21 @@ server.tool(
107
107
  return { content: [{ type: "text", text }] };
108
108
  }
109
109
  );
110
+ server.tool(
111
+ "get_metadata",
112
+ "Get a review's structured medical metadata as JSON: review dates (datePublished/dateModified/lastReviewed \u2014 a freshness signal absent from the Markdown), the intervention as a typed `about` entity with alternate names, and an ordered `citation` list of primary sources (each with a PubMed `pmid` when available). Use when you need the review's freshness, machine-readable references/PMIDs, or drug classification rather than prose.",
113
+ { slug: z.string().describe("Review slug, e.g. 'rapamycin' (a full evipedia.ai URL is also accepted)") },
114
+ async ({ slug }) => {
115
+ const norm = toSlug(slug);
116
+ let meta;
117
+ try {
118
+ meta = await fetchCached(`${BASE_URL}/${norm}.meta.json`);
119
+ } catch {
120
+ throw new Error(`Review not found: ${norm}`);
121
+ }
122
+ return { content: [{ type: "text", text: JSON.stringify(meta) }] };
123
+ }
124
+ );
110
125
  server.tool(
111
126
  "suggest_intervention",
112
127
  "Suggest a new intervention for evipedia.ai to review. Submits to evipedia's public suggestion form (the same one at evipedia.ai/suggest). Use only when the user explicitly wants to propose a new intervention \u2014 this sends a message to the evipedia team.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evipedia-mcp-dev",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Internal development build of evipedia-mcp. Not for public use.",
5
5
  "type": "module",
6
6
  "bin": {