{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T18:24:37.733Z","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp","markdownUrl":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp.md","server":{"slug":"badisbenhamida-ownmetrics-mcp","name":"OwnMetrics","registryName":"io.github.badisbenhamida/ownmetrics-mcp","description":"Ask AI apps about your own Garmin data via Garmin's official Personal API. Unofficial.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"ownmetrics-mcp","type":"pypi","identifier":"ownmetrics-mcp","withdrawn":false,"url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp","version":"0.3.1","transport":"stdio","scoredAt":"2026-11-05T07:44:31.158Z"},"score":{"total":86,"tier":"high trust","status":"scored","weekDelta":4,"history":[{"date":"2026-11-05","total":86},{"date":"2026-11-04","total":70},{"date":"2026-11-03","total":70},{"date":"2026-11-02","total":69},{"date":"2026-11-01","total":69},{"date":"2026-10-31","total":68},{"date":"2026-10-30","total":68},{"date":"2026-10-29","total":82},{"date":"2026-10-28","total":67},{"date":"2026-10-27","total":81},{"date":"2026-10-26","total":66}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"partial","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","Runs hatchling.build at install time, a recognised build step with no custom scripting around it.","1 of 33 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.allowlisted","args":{"tool":"hatchling.build","hooks":"build_backend"}},{"code":"dephealth.assessed","args":{"deps":"33","unhealthy":"1"}}]},{"name":"Provenance & Transparency","score":100,"verdict":"pass","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to badisbenhamida/ownmetrics-mcp).","Clear OSI-approved license (MIT).","Actively maintained (last published 7 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"badisbenhamida/ownmetrics-mcp"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"7"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":72,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1968 tokens (~140/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"140","items":"14","tools":"14","tokens":"1968","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":33,"verdict":"partial","reasons":["Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"10"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"14"}},{"code":"toolsafety.manipulation_clean","args":{"units":"15","judged":"15"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"ownmetrics-mcp","type":"pypi","identifier":"ownmetrics-mcp","withdrawn":false,"score":86,"current":true,"url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp","markdownUrl":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp.md"}],"facts":[{"label":"Registry","value":"pypi"},{"label":"Package","value":"ownmetrics-mcp"},{"label":"Version","value":"0.3.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"get_daily_overview","title":null,"description":"T1. One day's overview: steps, distance, floors, resting/min/max heart rate, stress, Body Battery, calories, intensity minutes, sleep hours and sleep score. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"date","type":"string","required":true,"description":"Date as YYYY-MM-DD, e.g. 2026-10-25."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":92},{"name":"get_sleep","title":null,"description":"T2. Sleep per night over a date range: hours, deep/light/REM/awake minutes, sleep score, Garmin's feedback, average heart rate, respiration and sleep stress. Each night is labelled woke_up_on, the morning it ended. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"end","type":"string","required":true,"description":"Last date, YYYY-MM-DD (inclusive); at most 90 days after start."},{"name":"start","type":"string","required":true,"description":"First date, YYYY-MM-DD (inclusive)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":120},{"name":"get_hrv","title":null,"description":"T3. Heart rate variability (HRV) per night over a date range: last-night average, weekly average, 5-minute high, status and personal baseline, in milliseconds. Each night is labelled woke_up_on, the morning it ended. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"end","type":"string","required":true,"description":"Last date, YYYY-MM-DD (inclusive); at most 90 days after start."},{"name":"start","type":"string","required":true,"description":"First date, YYYY-MM-DD (inclusive)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":121},{"name":"get_stress_and_body_battery","title":null,"description":"T4. Per day over a date range: average stress (0-100), minutes in each stress band, and Body Battery high, low, charged and drained. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"end","type":"string","required":true,"description":"Last date, YYYY-MM-DD (inclusive); at most 90 days after start."},{"name":"start","type":"string","required":true,"description":"First date, YYYY-MM-DD (inclusive)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":109},{"name":"get_heart_rate","title":null,"description":"T5. One day's heart rate (resting, min, max, 7-day resting average) and the user's heart rate zones. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"date","type":"string","required":true,"description":"Date as YYYY-MM-DD, e.g. 2026-10-25."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":85},{"name":"list_activities","title":null,"description":"T6. List activities in a date range, newest first, optionally filtered by Garmin activity type key (e.g. running, cycling, indoor_cycling, lap_swimming, strength_training). Returns ids for get_activity. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"activity_type","type":null,"required":false,"description":"Optional Garmin activity type key, e.g. 'running'."},{"name":"end","type":"string","required":true,"description":"Last date, YYYY-MM-DD (inclusive); at most 90 days after start."},{"name":"limit","type":"integer","required":false,"description":"Maximum activities, 1-100."},{"name":"start","type":"string","required":true,"description":"First date, YYYY-MM-DD (inclusive)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":148},{"name":"get_activity","title":null,"description":"T7. Details of one activity by id: duration, distance, pace, speed, heart rate, power, cadence, training effect and load, splits and structured workout steps. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"activity_id","type":"integer","required":true,"description":"Activity id from list_activities."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":82},{"name":"get_body_metrics","title":null,"description":"T8. Body metrics over a date range: weigh-ins (kg), BMI, body fat, hydration; plus Pulse Ox (SpO2) and fitness age as of the end date. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"end","type":"string","required":true,"description":"Last date, YYYY-MM-DD (inclusive); at most 90 days after start."},{"name":"start","type":"string","required":true,"description":"First date, YYYY-MM-DD (inclusive)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":110},{"name":"get_account_status","title":null,"description":"T9. Check the Garmin connection: whether the key works, granted scopes, a warning if the key expires within a day, which data areas respond, and what Garmin does not provide. Use this first when something fails. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":78},{"name":"training_summary","title":null,"description":"I1. Training totals over up to 366 days, by week or month: sessions, hours, hours per week, evening sessions, average aerobic training effect, and a per-sport breakdown. Use for 'how much did I train' questions. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"end","type":"string","required":true,"description":"Last date, YYYY-MM-DD (inclusive); at most 366 days after start."},{"name":"group_by","type":"string","required":false,"description":"Group by 'week' or 'month'."},{"name":"start","type":"string","required":true,"description":"First date, YYYY-MM-DD (inclusive)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":137},{"name":"compare_periods","title":null,"description":"I2. Compare two periods (each up to 366 days), e.g. this October vs last October: average sleep, HRV, resting heart rate, stress, Body Battery, steps and training per week, with change and % change and how many days of data each side has. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"a_end","type":"string","required":true,"description":"Period A last date, YYYY-MM-DD."},{"name":"a_start","type":"string","required":true,"description":"Period A first date, YYYY-MM-DD."},{"name":"b_end","type":"string","required":true,"description":"Period B last date, YYYY-MM-DD."},{"name":"b_start","type":"string","required":true,"description":"Period B first date, YYYY-MM-DD."},{"name":"metrics","type":null,"required":false,"description":"Metrics to compare; leave empty for all."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":169},{"name":"recovery_correlations","title":null,"description":"I3. Does training go with better or worse sleep and HRV? Over up to 366 days, pairs each day's training with the night after it: correlations with sample size and strength, plus averages for training vs rest days and evening vs earlier sessions. Can focus on one sport. Correlation is not cause; say so when answering. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"activity_type","type":null,"required":false,"description":"Optional sport to look at on its own, matched by name (e.g. 'tennis', 'running', 'cycling'). Days with only other sports are left out."},{"name":"end","type":"string","required":true,"description":"Last date, YYYY-MM-DD (inclusive); at most 366 days after start."},{"name":"start","type":"string","required":true,"description":"First date, YYYY-MM-DD (inclusive)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":180},{"name":"trend","title":null,"description":"I4. Trend of one metric over up to 366 days, by day, week or month: the series, change per 30 days and whether it is going up, down or flat. Daily grouping adds a 7-day rolling average. Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"end","type":"string","required":true,"description":"Last date, YYYY-MM-DD (inclusive); at most 366 days after start."},{"name":"group_by","type":"string","required":false,"description":"Group by day, week or month."},{"name":"metric","type":"string","required":true,"description":"The metric to follow."},{"name":"start","type":"string","required":true,"description":"First date, YYYY-MM-DD (inclusive)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":145},{"name":"weekly_review","title":null,"description":"I5. Weekly review, the same every time: training, sleep, HRV, resting heart rate, stress and Body Battery for the Monday-to-Sunday week containing week_of (default: this week so far), against the same days last week and the previous 28 days; best and worst nights; and highlights from fixed rules. Use for 'weekly review' or 'how was my week' questions. For a general weekly review, call it once with no week_of; pass week_of only when the user names a week (e.g. 'last week'). Results are informational, not medical advice. Fields Garmin did not record say 'not recorded'; never treat them as zero.","inputs":[{"name":"week_of","type":null,"required":false,"description":"Any date in the week to review, YYYY-MM-DD. Leave empty for this week so far; use a date from last week for the last full week."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":184}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T07:44:31.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[{"hook":"build_backend","tier":"allowlisted"}],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":33,"partial":false,"deprecated":null,"stale":null,"noRepo":1}},"mismatches":[],"changelog":{"trackingSince":"2026-10-26","recent":[{"id":"chg_01a1aaaa-9fd5-7829-9baf-97a532fb3d71","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a1aaaa-9fd5-7829-9baf-97a532fb3d71"},{"id":"chg_01a1aaaa-9fd6-7e95-b276-be6f80925d3e","kind":"score.total_changed","summary":"Trust score (70 → 86)","materiality":"functional","direction":"improvement","scoreDelta":16,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a1aaaa-9fd6-7e95-b276-be6f80925d3e"},{"id":"chg_01a1a0ac-9124-747e-afb9-7f2df2c7881d","kind":"score.total_changed","summary":"Trust score (69 → 70)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a1a0ac-9124-747e-afb9-7f2df2c7881d"},{"id":"chg_01a1966f-b9ab-7ec6-99de-5a32aa19736d","kind":"score.total_changed","summary":"Trust score (68 → 69)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a1966f-b9ab-7ec6-99de-5a32aa19736d"},{"id":"chg_01a18c24-4412-74ba-b5a5-f020fbce341a","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a18c24-4412-74ba-b5a5-f020fbce341a"},{"id":"chg_01a18c24-4413-7b2e-909f-1fef482cd533","kind":"score.total_changed","summary":"Trust score (82 → 68)","materiality":"functional","direction":"regression","scoreDelta":-14,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a18c24-4413-7b2e-909f-1fef482cd533"},{"id":"chg_01a1865b-44bd-7689-872c-e5ed45c3cab1","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a1865b-44bd-7689-872c-e5ed45c3cab1"},{"id":"chg_01a1865b-44bd-7d64-b438-f3c9271dd528","kind":"score.total_changed","summary":"Trust score (67 → 82)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a1865b-44bd-7d64-b438-f3c9271dd528"},{"id":"chg_01a18405-864e-76f9-abc1-1371140eae2c","kind":"check.measure","summary":"Schema quality (1771 → 1968)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a18405-864e-76f9-abc1-1371140eae2c"},{"id":"chg_01a18405-864f-76ed-b987-de258281a8cb","kind":"package.version_changed","summary":"Package version (0.2.1 → 0.3.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a18405-864f-76ed-b987-de258281a8cb"},{"id":"chg_01a183ce-51a5-705d-b1f4-5cb2a2fb2c41","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a183ce-51a5-705d-b1f4-5cb2a2fb2c41"},{"id":"chg_01a183ce-51a6-7d72-94d0-3057b3fa476e","kind":"check.reverified","summary":"Stability (unverified → 0.07)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a183ce-51a6-7d72-94d0-3057b3fa476e"},{"id":"chg_01a183ce-51a7-744a-a683-46a1bd18fbc8","kind":"package.version_changed","summary":"Package version (0.2.1 → 0.3.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a183ce-51a7-744a-a683-46a1bd18fbc8"},{"id":"chg_01a183ce-51a7-7a55-9be6-a871560371a6","kind":"score.total_changed","summary":"Trust score (81 → 67)","materiality":"functional","direction":"regression","scoreDelta":-14,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a183ce-51a7-7a55-9be6-a871560371a6"},{"id":"chg_01a17bf7-07df-72b0-98bf-e422654e88b3","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a17bf7-07df-72b0-98bf-e422654e88b3"},{"id":"chg_01a17bf7-07e0-7492-9dc6-be1e5c1d5d63","kind":"score.total_changed","summary":"Trust score (66 → 81)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a17bf7-07e0-7492-9dc6-be1e5c1d5d63"},{"id":"chg_01a179bf-3fc1-7490-b421-dba5cfab78f3","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a179bf-3fc1-7490-b421-dba5cfab78f3"},{"id":"chg_01a176ff-2079-761a-8a47-2f6f41449971","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a176ff-2079-761a-8a47-2f6f41449971"},{"id":"chg_01a176d1-fb2a-7a0d-ac60-584e7ee73ab5","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp#chg-chg_01a176d1-fb2a-7a0d-ac60-584e7ee73ab5"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp","markdown":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp.md","changelogJson":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/badisbenhamida-ownmetrics-mcp/ownmetrics-mcp.xml","external":[{"label":"PyPI project","href":"https://pypi.org/project/ownmetrics-mcp/"},{"label":"Socket report","href":"https://socket.dev/pypi/package/ownmetrics-mcp"},{"label":"Repository","href":"https://github.com/badisbenhamida/ownmetrics-mcp"}]}}