FatSecret · Capability

FatSecret Platform API

The FatSecret Platform API provides programmatic access to a global food nutrition database covering more than 1.9 million verified food items across 56 countries. It supports food and recipe search, barcode scanning, image recognition, natural language processing, and full profile-based food diary, exercise diary, and weight tracking management.

Run with Naftiko FatsecretAPI

What You Can Do

GET
Searchfoods — Search foods
/foods/search/v5
GET
Autocompletefoods — Autocomplete food search
/foods/autocomplete/v2
GET
Findfoodbybarcode — Find food by barcode
/food/barcode/find-by-id/v1
GET
Getfood — Get food by id
/food/v4
GET
Listfoodbrands — List food brands
/food-brands/v2
GET
Listfoodcategories — List food categories
/food-categories/v2
GET
Listfoodsubcategories — List food sub-categories
/food-sub-categories/v2
GET
Searchrecipes — Search recipes
/recipes/search/v3
GET
Getrecipe — Get recipe by id
/recipe/v2
GET
Listrecipetypes — List recipe types
/recipe-types/v2
GET
Listexercises — List exercises
/exercises/v2
GET
Getfavoritefoods — Get favorite foods
/food/favorites/v2
POST
Addfavoritefood — Add favorite food
/food/favorite/add/v2
POST
Deletefavoritefood — Delete favorite food
/food/favorite/delete/v2
GET
Getfoodentries — Get food diary entries
/food-entries/v2
POST
Createfoodentry — Create food diary entry
/food-entries/v2
GET
Getfoodentriesmonth — Monthly food diary summary
/food-entries/month/v2
GET
Getexerciseentries — Get exercise diary entries
/exercise-entries/v2
POST
Commitexerciseentries — Commit exercise diary entries
/exercise-entries/v2
GET
Getweights — Get weight history
/weights/v2
POST
Updateweight — Update weight entry
/weights/v2
GET
Listsavedmeals — List saved meals
/saved-meals/v2
POST
Createsavedmeal — Create saved meal
/saved-meals/v2

MCP Tools

searchfoods

Search foods

read-only idempotent
autocompletefoods

Autocomplete food search

read-only idempotent
findfoodbybarcode

Find food by barcode

read-only idempotent
getfood

Get food by id

read-only idempotent
listfoodbrands

List food brands

read-only idempotent
listfoodcategories

List food categories

read-only idempotent
listfoodsubcategories

List food sub-categories

read-only idempotent
searchrecipes

Search recipes

read-only idempotent
getrecipe

Get recipe by id

read-only idempotent
listrecipetypes

List recipe types

read-only idempotent
listexercises

List exercises

read-only idempotent
getfavoritefoods

Get favorite foods

read-only idempotent
addfavoritefood

Add favorite food

deletefavoritefood

Delete favorite food

getfoodentries

Get food diary entries

read-only idempotent
createfoodentry

Create food diary entry

getfoodentriesmonth

Monthly food diary summary

read-only idempotent
getexerciseentries

Get exercise diary entries

read-only idempotent
commitexerciseentries

Commit exercise diary entries

getweights

Get weight history

read-only idempotent
updateweight

Update weight entry

listsavedmeals

List saved meals

read-only idempotent
createsavedmeal

Create saved meal

Capability Spec

fatsecret-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FatSecret Platform API
  description: The FatSecret Platform API provides programmatic access to a global food nutrition database covering more than
    1.9 million verified food items across 56 countries. It supports food and recipe search, barcode scanning, image recognition,
    natural language processing, and full profile-based food diary, exercise diary, and weight tracking management.
  tags:
  - Fatsecret
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: fatsecret
    baseUri: https://platform.fatsecret.com/rest
    description: FatSecret Platform API HTTP API.
    authentication:
      type: bearer
      token: '{{FATSECRET_TOKEN}}'
    resources:
    - name: foods-search-v5
      path: /foods/search/v5
      operations:
      - name: searchfoods
        method: GET
        description: Search foods
        inputParameters:
        - name: search_expression
          in: query
          type: string
          required: true
        - name: page_number
          in: query
          type: integer
        - name: max_results
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: foods-autocomplete-v2
      path: /foods/autocomplete/v2
      operations:
      - name: autocompletefoods
        method: GET
        description: Autocomplete food search
        inputParameters:
        - name: expression
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-barcode-find-by-id-v1
      path: /food/barcode/find-by-id/v1
      operations:
      - name: findfoodbybarcode
        method: GET
        description: Find food by barcode
        inputParameters:
        - name: barcode
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-v4
      path: /food/v4
      operations:
      - name: getfood
        method: GET
        description: Get food by id
        inputParameters:
        - name: food_id
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-brands-v2
      path: /food-brands/v2
      operations:
      - name: listfoodbrands
        method: GET
        description: List food brands
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-categories-v2
      path: /food-categories/v2
      operations:
      - name: listfoodcategories
        method: GET
        description: List food categories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-sub-categories-v2
      path: /food-sub-categories/v2
      operations:
      - name: listfoodsubcategories
        method: GET
        description: List food sub-categories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: recipes-search-v3
      path: /recipes/search/v3
      operations:
      - name: searchrecipes
        method: GET
        description: Search recipes
        inputParameters:
        - name: search_expression
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: recipe-v2
      path: /recipe/v2
      operations:
      - name: getrecipe
        method: GET
        description: Get recipe by id
        inputParameters:
        - name: recipe_id
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: recipe-types-v2
      path: /recipe-types/v2
      operations:
      - name: listrecipetypes
        method: GET
        description: List recipe types
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: exercises-v2
      path: /exercises/v2
      operations:
      - name: listexercises
        method: GET
        description: List exercises
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-favorites-v2
      path: /food/favorites/v2
      operations:
      - name: getfavoritefoods
        method: GET
        description: Get favorite foods
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-favorite-add-v2
      path: /food/favorite/add/v2
      operations:
      - name: addfavoritefood
        method: POST
        description: Add favorite food
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-favorite-delete-v2
      path: /food/favorite/delete/v2
      operations:
      - name: deletefavoritefood
        method: POST
        description: Delete favorite food
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-entries-v2
      path: /food-entries/v2
      operations:
      - name: getfoodentries
        method: GET
        description: Get food diary entries
        inputParameters:
        - name: date
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createfoodentry
        method: POST
        description: Create food diary entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: food-entries-month-v2
      path: /food-entries/month/v2
      operations:
      - name: getfoodentriesmonth
        method: GET
        description: Monthly food diary summary
        inputParameters:
        - name: month
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: exercise-entries-v2
      path: /exercise-entries/v2
      operations:
      - name: getexerciseentries
        method: GET
        description: Get exercise diary entries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: commitexerciseentries
        method: POST
        description: Commit exercise diary entries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: weights-v2
      path: /weights/v2
      operations:
      - name: getweights
        method: GET
        description: Get weight history
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateweight
        method: POST
        description: Update weight entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: saved-meals-v2
      path: /saved-meals/v2
      operations:
      - name: listsavedmeals
        method: GET
        description: List saved meals
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsavedmeal
        method: POST
        description: Create saved meal
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: fatsecret-rest
    description: REST adapter for FatSecret Platform API.
    resources:
    - path: /foods/search/v5
      name: searchfoods
      operations:
      - method: GET
        name: searchfoods
        description: Search foods
        call: fatsecret.searchfoods
        outputParameters:
        - type: object
          mapping: $.
    - path: /foods/autocomplete/v2
      name: autocompletefoods
      operations:
      - method: GET
        name: autocompletefoods
        description: Autocomplete food search
        call: fatsecret.autocompletefoods
        outputParameters:
        - type: object
          mapping: $.
    - path: /food/barcode/find-by-id/v1
      name: findfoodbybarcode
      operations:
      - method: GET
        name: findfoodbybarcode
        description: Find food by barcode
        call: fatsecret.findfoodbybarcode
        outputParameters:
        - type: object
          mapping: $.
    - path: /food/v4
      name: getfood
      operations:
      - method: GET
        name: getfood
        description: Get food by id
        call: fatsecret.getfood
        outputParameters:
        - type: object
          mapping: $.
    - path: /food-brands/v2
      name: listfoodbrands
      operations:
      - method: GET
        name: listfoodbrands
        description: List food brands
        call: fatsecret.listfoodbrands
        outputParameters:
        - type: object
          mapping: $.
    - path: /food-categories/v2
      name: listfoodcategories
      operations:
      - method: GET
        name: listfoodcategories
        description: List food categories
        call: fatsecret.listfoodcategories
        outputParameters:
        - type: object
          mapping: $.
    - path: /food-sub-categories/v2
      name: listfoodsubcategories
      operations:
      - method: GET
        name: listfoodsubcategories
        description: List food sub-categories
        call: fatsecret.listfoodsubcategories
        outputParameters:
        - type: object
          mapping: $.
    - path: /recipes/search/v3
      name: searchrecipes
      operations:
      - method: GET
        name: searchrecipes
        description: Search recipes
        call: fatsecret.searchrecipes
        outputParameters:
        - type: object
          mapping: $.
    - path: /recipe/v2
      name: getrecipe
      operations:
      - method: GET
        name: getrecipe
        description: Get recipe by id
        call: fatsecret.getrecipe
        outputParameters:
        - type: object
          mapping: $.
    - path: /recipe-types/v2
      name: listrecipetypes
      operations:
      - method: GET
        name: listrecipetypes
        description: List recipe types
        call: fatsecret.listrecipetypes
        outputParameters:
        - type: object
          mapping: $.
    - path: /exercises/v2
      name: listexercises
      operations:
      - method: GET
        name: listexercises
        description: List exercises
        call: fatsecret.listexercises
        outputParameters:
        - type: object
          mapping: $.
    - path: /food/favorites/v2
      name: getfavoritefoods
      operations:
      - method: GET
        name: getfavoritefoods
        description: Get favorite foods
        call: fatsecret.getfavoritefoods
        outputParameters:
        - type: object
          mapping: $.
    - path: /food/favorite/add/v2
      name: addfavoritefood
      operations:
      - method: POST
        name: addfavoritefood
        description: Add favorite food
        call: fatsecret.addfavoritefood
        outputParameters:
        - type: object
          mapping: $.
    - path: /food/favorite/delete/v2
      name: deletefavoritefood
      operations:
      - method: POST
        name: deletefavoritefood
        description: Delete favorite food
        call: fatsecret.deletefavoritefood
        outputParameters:
        - type: object
          mapping: $.
    - path: /food-entries/v2
      name: getfoodentries
      operations:
      - method: GET
        name: getfoodentries
        description: Get food diary entries
        call: fatsecret.getfoodentries
        outputParameters:
        - type: object
          mapping: $.
    - path: /food-entries/v2
      name: createfoodentry
      operations:
      - method: POST
        name: createfoodentry
        description: Create food diary entry
        call: fatsecret.createfoodentry
        outputParameters:
        - type: object
          mapping: $.
    - path: /food-entries/month/v2
      name: getfoodentriesmonth
      operations:
      - method: GET
        name: getfoodentriesmonth
        description: Monthly food diary summary
        call: fatsecret.getfoodentriesmonth
        outputParameters:
        - type: object
          mapping: $.
    - path: /exercise-entries/v2
      name: getexerciseentries
      operations:
      - method: GET
        name: getexerciseentries
        description: Get exercise diary entries
        call: fatsecret.getexerciseentries
        outputParameters:
        - type: object
          mapping: $.
    - path: /exercise-entries/v2
      name: commitexerciseentries
      operations:
      - method: POST
        name: commitexerciseentries
        description: Commit exercise diary entries
        call: fatsecret.commitexerciseentries
        outputParameters:
        - type: object
          mapping: $.
    - path: /weights/v2
      name: getweights
      operations:
      - method: GET
        name: getweights
        description: Get weight history
        call: fatsecret.getweights
        outputParameters:
        - type: object
          mapping: $.
    - path: /weights/v2
      name: updateweight
      operations:
      - method: POST
        name: updateweight
        description: Update weight entry
        call: fatsecret.updateweight
        outputParameters:
        - type: object
          mapping: $.
    - path: /saved-meals/v2
      name: listsavedmeals
      operations:
      - method: GET
        name: listsavedmeals
        description: List saved meals
        call: fatsecret.listsavedmeals
        outputParameters:
        - type: object
          mapping: $.
    - path: /saved-meals/v2
      name: createsavedmeal
      operations:
      - method: POST
        name: createsavedmeal
        description: Create saved meal
        call: fatsecret.createsavedmeal
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: fatsecret-mcp
    transport: http
    description: MCP adapter for FatSecret Platform API for AI agent use.
    tools:
    - name: searchfoods
      description: Search foods
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.searchfoods
      with:
        search_expression: tools.search_expression
        page_number: tools.page_number
        max_results: tools.max_results
      inputParameters:
      - name: search_expression
        type: string
        description: search_expression
        required: true
      - name: page_number
        type: integer
        description: page_number
      - name: max_results
        type: integer
        description: max_results
      outputParameters:
      - type: object
        mapping: $.
    - name: autocompletefoods
      description: Autocomplete food search
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.autocompletefoods
      with:
        expression: tools.expression
      inputParameters:
      - name: expression
        type: string
        description: expression
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: findfoodbybarcode
      description: Find food by barcode
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.findfoodbybarcode
      with:
        barcode: tools.barcode
      inputParameters:
      - name: barcode
        type: string
        description: barcode
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getfood
      description: Get food by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.getfood
      with:
        food_id: tools.food_id
      inputParameters:
      - name: food_id
        type: string
        description: food_id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listfoodbrands
      description: List food brands
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.listfoodbrands
      outputParameters:
      - type: object
        mapping: $.
    - name: listfoodcategories
      description: List food categories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.listfoodcategories
      outputParameters:
      - type: object
        mapping: $.
    - name: listfoodsubcategories
      description: List food sub-categories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.listfoodsubcategories
      outputParameters:
      - type: object
        mapping: $.
    - name: searchrecipes
      description: Search recipes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.searchrecipes
      with:
        search_expression: tools.search_expression
      inputParameters:
      - name: search_expression
        type: string
        description: search_expression
      outputParameters:
      - type: object
        mapping: $.
    - name: getrecipe
      description: Get recipe by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.getrecipe
      with:
        recipe_id: tools.recipe_id
      inputParameters:
      - name: recipe_id
        type: string
        description: recipe_id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listrecipetypes
      description: List recipe types
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.listrecipetypes
      outputParameters:
      - type: object
        mapping: $.
    - name: listexercises
      description: List exercises
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.listexercises
      outputParameters:
      - type: object
        mapping: $.
    - name: getfavoritefoods
      description: Get favorite foods
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.getfavoritefoods
      outputParameters:
      - type: object
        mapping: $.
    - name: addfavoritefood
      description: Add favorite food
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fatsecret.addfavoritefood
      outputParameters:
      - type: object
        mapping: $.
    - name: deletefavoritefood
      description: Delete favorite food
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fatsecret.deletefavoritefood
      outputParameters:
      - type: object
        mapping: $.
    - name: getfoodentries
      description: Get food diary entries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.getfoodentries
      with:
        date: tools.date
      inputParameters:
      - name: date
        type: string
        description: date
      outputParameters:
      - type: object
        mapping: $.
    - name: createfoodentry
      description: Create food diary entry
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fatsecret.createfoodentry
      outputParameters:
      - type: object
        mapping: $.
    - name: getfoodentriesmonth
      description: Monthly food diary summary
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.getfoodentriesmonth
      with:
        month: tools.month
      inputParameters:
      - name: month
        type: string
        description: month
      outputParameters:
      - type: object
        mapping: $.
    - name: getexerciseentries
      description: Get exercise diary entries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.getexerciseentries
      outputParameters:
      - type: object
        mapping: $.
    - name: commitexerciseentries
      description: Commit exercise diary entries
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fatsecret.commitexerciseentries
      outputParameters:
      - type: object
        mapping: $.
    - name: getweights
      description: Get weight history
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.getweights
      outputParameters:
      - type: object
        mapping: $.
    - name: updateweight
      description: Update weight entry
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fatsecret.updateweight
      outputParameters:
      - type: object
        mapping: $.
    - name: listsavedmeals
      description: List saved meals
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fatsecret.listsavedmeals
      outputParameters:
      - type: object
        mapping: $.
    - name: createsavedmeal
      description: Create saved meal
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fatsecret.createsavedmeal
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    FATSECRET_TOKEN: FATSECRET_TOKEN