OvenLovin

Connect Your Agent

OvenLovin provides multiple interfaces for AI agents:

  • MCP Server - Model Context Protocol for structured tool access
  • REST API - OpenAPI-compliant HTTP endpoints

Deploy your own copy (Deploy button), sign in, open Settings, then API keys, create a key, and copy the plaintext value (shown once). Call https://<your-app>.vercel.app/api/v1 with Authorization: ApiKey rkapi_... and connect MCP at https://<your-app>.vercel.app/mcp.

Just looking? The public demo at https://ovenlovin-demo.vercel.app issues a 24h sandbox key at /api/demo/enter?format=json.

Prerequisites

Before connecting an agent, you'll need:

  • OvenLovin deployed to Vercel or running locally
  • An API key from your OvenLovin dashboard (Settings → API keys)
  • For MCP: Node.js 20 or later

Grok Bot (xAI)

Grok Bot connects via MCP HTTP transport using Streamable HTTP.

Configuration

In your Grok Bot MCP settings:

{
  "mcpServers": {
    "ovenlovin": {
      "transport": "http",
      "url": "https://your-app.vercel.app/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Replace:

  • your-app.vercel.app with your deployment URL
  • YOUR_API_KEY with your OvenLovin API key

Test It

Ask Grok: "Search for recipes containing chicken"

Grok will use the search_recipes MCP tool and return results from your instance.

Claude Desktop / Claude Code

Claude connects over HTTP. @ovenlovin/mcp is a private workspace package, not an npm CLI.

HTTP Transport

{
  "mcpServers": {
    "ovenlovin": {
      "transport": "http",
      "url": "https://your-app.vercel.app/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Test It

Restart Claude Desktop and ask: "Get the household context from OvenLovin"

Claude will call the get_household_context tool and show your household members and dietary rules.

ChatGPT Custom GPTs

ChatGPT connects via the REST API using Actions (OpenAPI).

Create a Custom GPT

  1. Go to ChatGPT Custom GPT Builder
  2. Create a new GPT named "OvenLovin Assistant"
  3. Add this description:
Helps with recipe management, meal planning, and grocery lists using OvenLovin.
Can search recipes, check allergen rules, create meal plans, and generate shopping lists.

Configure Actions

In the "Actions" section:

  1. Schema: Import from URL

    https://your-app.vercel.app/api/v1/openapi.json
  2. Authentication: API Key

    • Header name: Authorization
    • API Key: Bearer YOUR_API_KEY
  3. Privacy policy URL (if publishing):

    https://your-app.vercel.app/privacy

Test It

In ChatGPT: "Search my recipes for pasta and check if any would be safe for everyone in my household"

Generic MCP Client

Any MCP-compatible client can connect to OvenLovin.

Environment Variables

Use HTTP. @ovenlovin/mcp is not published to npm.

HTTP Transport

{
  "transport": "http",
  "url": "https://your-app.vercel.app/mcp",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY"
  }
}

REST API Direct Access

If your agent doesn't support MCP, use the REST API directly.

Authentication

Include your API key in the Authorization header:

curl

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://your-app.vercel.app/api/v1/recipes

TypeScript

const response = await fetch("https://your-app.vercel.app/api/v1/recipes", {
  headers: {
    Authorization: `Bearer ${API_KEY}`,
  },
});
const data = await response.json();

Python

import requests
 
headers = {
    'Authorization': f'Bearer {API_KEY}'
}
response = requests.get(
    'https://your-app.vercel.app/api/v1/recipes',
    headers=headers
)
data = response.json()

OpenAPI Spec

Download the OpenAPI specification:

curl https://your-app.vercel.app/api/v1/openapi.json > openapi.json

Available MCP Tools

Once connected, agents can use these tools:

Registered tools: whoami, search_recipes, get_recipe, create_recipe, import_recipe, import_recipe_from_image, delete_recipe, get_household_context, manage_household_schedule, manage_household_settings, manage_kitchen_invites, manage_kitchen_members, get_person_rules, manage_people, manage_person_rules, manage_person_loves, check_meal_plan, export_shopping_list, save_meal_plan, get_meal_plan, edit_meal_plan, delete_meal_plan, list_cookbooks, get_cookbook, manage_cookbook, reorder_people.

Example Workflows

Sunday Meal Planning

User: "Plan my meals for next week"

Bot:
1. Calls whoami, then get_household_context
2. Searches with search_recipes (forAttendees hides block hits)
3. Calls check_meal_plan (nights may use freeformMeal instead of recipeId)
4. Calls save_meal_plan with that checkReportJson
5. Calls export_shopping_list with the saved planId

Returns:
- Meal plan for the week
- Shopping list by grocery section
- Any allergen warnings

Recipe Import

User: "Import this recipe: https://example.com/cookies"

Bot:
1. Calls import_recipe with source=url and content=the URL (save:false to preview)
2. Calls get_recipe on the saved id
3. Calls check_meal_plan for household attendees

Returns:
- Recipe details
- Safety check results
- Substitution suggestions

Troubleshooting

MCP Connection Issues

Verify the MCP endpoint is accessible:

curl https://your-app.vercel.app/mcp

Should return MCP server metadata. If not, check:

  • Deployment is live on Vercel
  • Environment variables are set correctly
  • API key is valid

Authentication Errors (401)

Verify:

  • API key format: Authorization: ApiKey rkapi_... or Bearer rkapi_...
  • Key is still listed under Settings
  • Key has required scopes for the operation. A request outside the key's scopes returns REST 403 (<origin>/problems/forbidden) or MCP JSON-RPC -32003.

Next Steps