Model Context Protocol (MCP) Integration
Connect Claude Desktop, Cursor IDE, LM Studio, or custom Smart agents to Diets Premium's nutrition catalog and semantic search via MCP.
Step 1: Implementation & How MCP Works
Model Context Protocol enables LLMs to safely invoke Diets Premium catalog tools with structured parameter validation.
Free tier with 10,000 tokens/day for Smart testing. Logged-in accounts receive +10,000 bonus tokens/day.
Generate your unique MCP Secret in your account dashboard to configure your local or hosted Smart client.
The MCP server translates JSON-RPC 2.0 requests directly through the Diets Premium semantic Smart engine with sub-15ms latency.
Step 2: Smart Client Configuration (Claude, Cursor, LM Studio, Python)
Configure the Diets Premium MCP Server in your development environment or Smart desktop assistant.
npm i dietspremium-mcp or npx -y dietspremium-mcphttps://www.dietspremium.com/_mcp
{
"mcpServers": {
"dietspremium": {
"command": "npx",
"args": [
"-y",
"dietspremium-mcp",
"--auth",
"Bearer YOUR_MCP_SECRET"
]
}
}
}
{
"mcpServers": {
"dietspremium": {
"command": "npx",
"args": [
"-y",
"dietspremium-mcp",
"--auth",
"Bearer YOUR_MCP_SECRET"
]
}
}
}
curl -X POST "https://www.dietspremium.com/_mcp" \
-H "Authorization: Bearer YOUR_MCP_SECRET" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "food",
"arguments": {
"query": "grilled chicken breast",
"locale": "en",
"proteins_min": 25,
"ai": true
}
}
}'
Step 3: MCP Tools Catalog (Alphabetical)
Overview of all 9 MCP tools available to Smart agents with parameter schemas and JSON-RPC 2.0 call examples.
allergen
POST /_mcp/search/allergen
Allergen Risk & Intolerance Registry
Allergology & Safety ProtocolDietary allergens, cross-contamination risks, EU 1169/2011 allergen standards, and ingredient intolerance profiles.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Allergen name or food derivative (e.g. "casein", "peanut", "gluten") |
| locale | string | optional | en | Language locale (en, pl, de, fr, nl, cz, at, ch, lu) |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Maximum results per page (max 10) |
| ai | boolean | optional | true | Semantic AI query matching |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "allergen",
"arguments": {
"query": "lactose dairy whey",
"locale": "en",
"page": 1,
"max_results": 5
}
}
}
article
POST /_mcp/search/article
Clinical Nutrition Guides & RAG Grounding
Publications & Knowledge BaseSearch 6,000+ peer-reviewed nutrition articles, clinical guidelines, and wellness guides for agent grounding and citations.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Clinical inquiry or dietetics topic (e.g. "intermittent fasting autophagy") |
| locale | string | optional | en | Language locale |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Max results to return (max 10) |
| ai | boolean | optional | true | Semantic AI vector search |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "article",
"arguments": {
"query": "ketogenic diet epilepsy neuroprotection",
"locale": "en",
"page": 1,
"max_results": 3,
"ai": true
}
}
}
company
POST /_mcp/search/company
Dietetic Catering & Clinic Directory
B2B & DirectorySearch 173,000+ health clinics, dietetic catering providers, gyms, and wellness brands with geo-location metadata.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Company name, specialty, or city (e.g. "low FODMAP catering Berlin") |
| city | string | optional | — | Optional city name filter (e.g. "Warszawa", "Berlin") |
| locale | string | optional | en | Language locale |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Number of results (max 10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "company",
"arguments": {
"query": "catering dietetyczny bezglutenowy Warszawa",
"locale": "pl",
"page": 1,
"max_results": 5
}
}
}
exercise
POST /_mcp/search/exercise
Exercise Biomechanics & Calorie Burn
Fitness & BiomechanicsSearch 2,000+ workout exercises with targeted anatomical muscle groups, required equipment, and execution guidelines.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Exercise name, equipment, or muscle group (e.g. "incline dumbbell press") |
| locale | string | optional | en | Language locale |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Number of results (max 10) |
| ai | boolean | optional | true | AI semantic search |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "exercise",
"arguments": {
"query": "dumbbell Romanian deadlift hamstrings",
"locale": "en",
"page": 1,
"max_results": 5,
"ai": true
}
}
}
food
POST /_mcp/search/food
Nutritional Database & Macro Search
Nutrition & MacrosSearch 1,900+ verified foods with complete macronutrients, calorie filters, micronutrients, and allergen exclusions.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Food item (e.g. "grilled chicken breast", "avocado") |
| locale | string | optional | en | Language locale |
| proteins_min / proteins_max | integer | optional | 0 | Protein range in grams |
| kcal_min / kcal_max | integer | optional | 0 | Calorie range per 100g |
| allergen_exclude | string | optional | — | Comma-separated allergens to exclude |
| food_nutrient_include | string | optional | — | Required nutrient (e.g. "iron", "calcium") |
| page | integer | optional | 1 | Page number (10 results per page) |
| ai | boolean | optional | true | AI semantic vector search |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "food",
"arguments": {
"query": "chicken breast",
"locale": "en",
"proteins_min": 25,
"kcal_max": 250,
"allergen_exclude": "gluten,lactose",
"page": 1,
"max_results": 5,
"ai": true
}
}
}
medication
POST /_mcp/search/medication
Pharmacology & Food-Drug Interactions
Pharmacology & SafetyDatabase of 53,000+ active substances evaluating critical food-drug interactions, absorption interference, and nutrient depletion.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Pharmaceutical compound or trade name (e.g. "Levothyroxine", "Metformin") |
| locale | string | optional | en | Language locale |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Number of results (max 10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "medication",
"arguments": {
"query": "Levothyroxine calcium coffee interaction",
"locale": "en",
"page": 1,
"max_results": 5
}
}
}
recipe
POST /_mcp/search/recipe
Culinary Recipes & Macro Balancing
Culinary & Meal PrepSearch 780+ chef-curated recipes with preparation steps, ingredients with gram weights, portion macronutrients, and difficulty levels.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Search phrase (e.g. "quick keto salmon salad", "vegan high-protein pasta") |
| locale | string | optional | en | Language locale |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Number of results (max 10) |
| ai | boolean | optional | true | Semantic AI search |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "recipe",
"arguments": {
"query": "quick keto Mediterranean avocado salmon salad",
"locale": "en",
"page": 1,
"max_results": 5,
"ai": true
}
}
}
user
POST /_mcp/search/user
Specialists & Certified Dietitians
Specialists & TrainersSearch verified clinical dietitians, sports nutritionists, and certified personal trainers for client assignment.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Specialist specialty, qualification, or city (e.g. "clinical dietitian diabetes") |
| locale | string | optional | en | Language locale |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Number of results (max 10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "user",
"arguments": {
"query": "clinical sports dietitian keto specialist",
"locale": "en",
"page": 1,
"max_results": 5
}
}
}
supplement
POST /_mcp/search/supplement
Supplements & Active Dosages
Nutrition & SupplementsDietary supplements catalog with active compound dosages, vitamin forms, and safety guidance.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Supplement or vitamin name (e.g. "Vitamin D3 K2 MK7", "Creatine Monohydrate") |
| locale | string | optional | en | Language locale |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Number of results (max 10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "supplement",
"arguments": {
"query": "Vitamin D3 K2 MK7 high absorption",
"locale": "en",
"page": 1,
"max_results": 5
}
}
}
diet
POST /_mcp/search/diet
Clinical & Lifestyle Diet Templates (158 Types)
Odżywianie & DietyOfficial nutritionist-designed diet templates with multi-currency pricing, day duration (3-28 days), macro splits, and allergen avoidance.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | optional | — | Search keyword or medical condition (e.g. "keto", "cukrzyca") |
| diet_template_type | string|int | optional | — | Diet template type ID, find code, or localized name (e.g. "keto", "hashimoto", 4) |
| days | integer | optional | — | Duration in days (e.g. 7, 14, 21, 28) |
| avoid_allergens | array | optional | [] | Allergen find codes to strictly exclude (e.g. ["milk", "nuts"]) |
| kcal_min / kcal_max | integer | optional | 0 | Daily calorie bounds |
| currency | string | optional | locale default | Currency for pricing (PLN, EUR, USD, ALL) |
| locale | string | optional | en | Language locale (en, pl, de, etc.) |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Max items to return (max 10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "diet",
"arguments": {
"diet_template_type": "keto",
"days": 28,
"avoid_allergens": ["milk"],
"currency": "ALL",
"locale": "pl",
"page": 1
}
}
}
food-world
POST /_mcp/search/food-world
Global Food Products & Barcodes (Open Food Facts + USDA)
Global Products & BarcodesSearch 3.5M+ global branded products, EAN/UPC barcodes, brands, Nutri-Score, Eco-Score, and international ingredients.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | optional | — | Product name or keywords (e.g. "Coca-Cola Zero", "Nutella") |
| barcode | string | optional | — | EAN-13 or UPC barcode string (e.g. "5449000000996") |
| brand | string | optional | — | Manufacturer / brand name (e.g. "Barilla", "Nestle") |
| locale | string | optional | en | Target language locale |
| currency | string | optional | locale default | Currency for pricing (EUR, PLN, USD, ALL) |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Maximum results (max 10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "food-world",
"arguments": {
"query": "barilla spaghetti",
"brand": "Barilla",
"locale": "pl",
"currency": "ALL",
"page": 1
}
}
}
knowledge
POST /_mcp/search/knowledge
Clinical Knowledge & Dietetic Grounding
Publications & Knowledge BaseClinical nutrition guidelines, scientific dietary facts, medical definitions, and evidence-based grounding.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| query | string | required | — | Scientific inquiry or term (e.g. "insulin resistance", "glycemic index") |
| locale | string | optional | en | Language locale |
| page | integer | optional | 1 | Page number (10 results per page) |
| max_results | integer | optional | 10 | Number of results (max 10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "knowledge",
"arguments": {
"query": "insulinooporność mechanizm",
"locale": "pl",
"page": 1,
"max_results": 3
}
}
}
MCP Management Endpoints (/_mcp/management/<entity>)
Authenticated account, calendar, company, patient, diet (Trainer Mode vs Patient granted_to + Fridge Replacement AI), and training management via MCP Token. All entities use Base64 key identifiers (never raw database IDs) with S3 media support (GET_MEDIA, ADD_MEDIA, REPLACE_MEDIA, DELETE_MEDIA).
management_account
POST /_mcp/management/account
Account, Profile, GeoName Address, Job, Education & S3 Avatar/Cover
Account & Profile ManagementFull authenticated management of the user account via MCP Token. Supports updating first/last name, uploading/replacing/deleting avatar and background cover photos on S3 (dietpremium-media), interactive GeoName address lookup (SEARCH_COUNTRY, SEARCH_CITY, SEARCH_ZIP, UPDATE_ADDRESS), job history (LIST_JOBS, SEARCH_AVAILABLE_JOBS, ADD_JOB, UPDATE_JOB, DELETE_JOB), education history, and personal tags. Email and phone number modifications are strictly blocked for security (require 2FA code on web).
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| action | string | required | GET_PROFILE | Action: GET_PROFILE, UPDATE_PERSONAL_DATA, UPDATE_PROFILE, GET_MEDIA, ADD_MEDIA, REPLACE_MEDIA, DELETE_MEDIA, GET_ADDRESS, SEARCH_COUNTRY, SEARCH_CITY, SEARCH_ZIP, UPDATE_ADDRESS, LIST_WORK_ADDRESSES, ADD_WORK_ADDRESS, UPDATE_WORK_ADDRESS, DELETE_WORK_ADDRESS, LIST_JOBS, SEARCH_AVAILABLE_JOBS, UPDATE_PROFESSIONS, LIST_EDUCATIONS, UPDATE_EDUCATION, LIST_TAGS, SEARCH_AVAILABLE_TAGS, UPDATE_TAGS |
| payload | object | optional | {} | Action parameters (e.g. firstname, lastname, street, house_number, country_key, city_key, zip_key, work_address_key, company_name, nip, image_base64, filename, target) |
| locale | string | optional | pl | Language locale (pl, en, de, fr, nl, cz, at, ch, lu) |
| page | integer | optional | 1 | Page number (max 10 items per page) |
| max_results | integer | optional | 10 | Items per page (1-10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "management_account",
"arguments": {
"action": "UPDATE_PROFILE",
"payload": {
"firstname": "Anna",
"lastname": "Kowalska"
},
"locale": "pl"
}
}
}
management_calendar
POST /_mcp/management/calendar
Personal & Company Calendar Events Manager
Calendar & SchedulingManage personal and company calendar events via MCP. Supports date-range filtering, public/private visibility toggles, linking events to a managed Company (via company_key), and attaching S3 images or videos.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| action | string | required | LIST_EVENTS | Action: LIST_EVENTS, GET_EVENT, ADD_EVENT, UPDATE_EVENT, DELETE_EVENT, GET_MEDIA, ADD_MEDIA, REPLACE_MEDIA, DELETE_MEDIA |
| payload | object | optional | {} | Event payload (key, title, description, event_date, start_time, end_time, company_key, is_public, image_base64, filename) |
| locale | string | optional | pl | Language locale |
| page | integer | optional | 1 | Page number (max 10 items per page) |
| max_results | integer | optional | 10 | Items per page (1-10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "management_calendar",
"arguments": {
"action": "ADD_EVENT",
"payload": {
"title": "Konsultacja kontrolna - Analiza składu ciała",
"event_date": "2026-11-05",
"start_time": "10:00",
"end_time": "11:00",
"is_public": true
},
"locale": "pl"
}
}
}
management_company
POST /_mcp/management/company
Company, Clinic & Catering Profile Management
B2B & Clinic ManagementDedicated B2B management tool for Trainer and Company accounts. Allows listing and updating companies created by the user or assigned via CompanyTrainerAssign with edit permissions. Supports GeoName address verification, Monday-Sunday opening hours, company features, and S3 gallery images/videos.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| action | string | required | LIST_COMPANIES | Action: LIST_COMPANIES, GET_COMPANY, CREATE_COMPANY, UPDATE_COMPANY, UPDATE_ADDRESS, UPDATE_OPEN_HOURS, LIST_TRAINERS, ASSIGN_TRAINER, UPDATE_TRAINER_ASSIGNMENT, UNASSIGN_TRAINER, LIST_AVAILABLE_FEATURES, SEARCH_COUNTRY, SEARCH_CITY, SEARCH_ZIP, GET_MEDIA, ADD_MEDIA, REPLACE_MEDIA, DELETE_MEDIA |
| payload | object | optional | {} | Company key, name, www, address fields, opening hours, trainer_key, show_on_frontend, allow_edit, feature_keys, or S3 media |
| locale | string | optional | pl | Language locale |
| page | integer | optional | 1 | Page number (max 10 items per page) |
| max_results | integer | optional | 10 | Items per page (1-10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "management_company",
"arguments": {
"action": "LIST_COMPANIES",
"page": 1,
"max_results": 10,
"locale": "pl"
}
}
}
management_patient
POST /_mcp/management/patient
Patient & Client CRM (List, Add, Edit, Soft-Deactivate)
Specialist & Patient CRMSpecialist CRM tool for trainers and clinical dietitians. Manage your patient roster with paginated listings (max 10 per page), inspect assigned diets and training plans, onboard new patients, update clinical notes, and safely deactivate patients via soft-delete (active = 0).
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| action | string | required | LIST_PATIENTS | Action: LIST_PATIENTS, GET_PATIENT, ADD_PATIENT, UPDATE_PATIENT, DEACTIVATE_PATIENT |
| payload | object | optional | {} | Patient key (patient_key), firstname, lastname, gender, birth_date, notes |
| locale | string | optional | pl | Language locale |
| page | integer | optional | 1 | Page number (max 10 items per page) |
| max_results | integer | optional | 10 | Items per page (1-10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "management_patient",
"arguments": {
"action": "LIST_PATIENTS",
"page": 1,
"max_results": 10,
"locale": "pl"
}
}
}
management_diet
POST /_mcp/management/diet
Diet Builder (Trainer Mode) & Patient Tracking / Fridge Replacement AI
Odżywianie & Diety (Management)Intelligent dual-mode diet engine:\n1) Trainer Mode (granted_to IS NULL & created_by == user): Create and edit diets, add/remove days, meal schemas, recipes, foods, supplements, exercises, upload S3 media, and assign diet copies to patients (ASSIGN_TO_PATIENT). Trainers cannot edit personal patient logs (water, feel, notice, smoke).\n2) Recipient/Patient Mode (granted_to == user): View assigned diet, log daily water intake (LOG_WATER), mood/wellbeing (LOG_FEEL), personal notes (LOG_NOTICE), biohacking/smoke (LOG_BIOHACKING), and evaluate fridge ingredients against scheduled meals (EVALUATE_FRIDGE_REPLACEMENT). Physical meal swaps (REPLACE_MEAL) are permitted when allowEditMeals=1.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| action | string | required | LIST_DIETS | Trainer: LIST_DIETS, GET_DIET, GET_DAY, CREATE_DIET, UPDATE_DIET, DELETE_DIET, ADD_DAY, UPDATE_DAY, DELETE_DAY, ADD_SCHEMA, UPDATE_SCHEMA, DELETE_SCHEMA, ADD_ITEM, UPDATE_ITEM, REMOVE_ITEM, ASSIGN_TO_PATIENT, GET_MEDIA, ADD_MEDIA, REPLACE_MEDIA, DELETE_MEDIA. Patient: EVALUATE_FRIDGE_REPLACEMENT, REPLACE_MEAL, LOG_WATER, LOG_FEEL, LOG_NOTICE, LOG_BIOHACKING |
| payload | object | optional | {} | Diet key (diet_key), day_key, schema_key, item_type (recipe|food|supplement|exercise), fridge_ingredients, water_ml, feel_score, notice |
| locale | string | optional | pl | Language locale |
| page | integer | optional | 1 | Page number (max 10 items per page) |
| max_results | integer | optional | 10 | Items per page (1-10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "management_diet",
"arguments": {
"action": "EVALUATE_FRIDGE_REPLACEMENT",
"payload": {
"diet_key": "MTA4",
"day_key": "NTIw",
"schema_key": "MjEwNA==",
"fridge_ingredients": [
{"name": "jajka", "grams": 180},
{"name": "awokado", "grams": 70},
{"name": "szpinak", "grams": 100}
]
},
"locale": "pl"
}
}
}
management_training
POST /_mcp/management/training
Training Plan Builder (Trainer Mode) & Workout Execution
Fitness & Biomechanics (Management)Dual-mode training plan management:\n1) Trainer Mode (granted_to IS NULL & created_by == user): Full CRUD on training templates, workout days, exercise assignments (sets, reps, weight, rest, tempo), S3 media, and ASSIGN_TO_PATIENT.\n2) Recipient/Patient Mode (granted_to == user): Read assigned workout plan, log workout feedback (LOG_WORKOUT_NOTE), and swap exercises when trainer enabled editing.
| Argument | Type | Status | Default | Description |
|---|---|---|---|---|
| action | string | required | LIST_TRAININGS | Action: LIST_TRAININGS, GET_TRAINING, GET_DAY, CREATE_TRAINING, UPDATE_TRAINING, DELETE_TRAINING, ADD_DAY, UPDATE_DAY, DELETE_DAY, ADD_EXERCISE, UPDATE_EXERCISE, REMOVE_EXERCISE, ASSIGN_TO_PATIENT, LOG_WORKOUT_NOTE, GET_MEDIA, ADD_MEDIA, REPLACE_MEDIA, DELETE_MEDIA |
| payload | object | optional | {} | Training key (training_key), day_key, exercise_key, sets, reps, rest_seconds, note |
| locale | string | optional | pl | Language locale |
| page | integer | optional | 1 | Page number (max 10 items per page) |
| max_results | integer | optional | 10 | Items per page (1-10) |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "management_training",
"arguments": {
"action": "LIST_TRAININGS",
"payload": {
"mode": "trainer"
},
"page": 1,
"locale": "pl"
}
}
}
Complete MCP Tools Specification
Explore the full interactive MCP tool catalog with live parameter schemas and dynamic JSON-RPC query generator.