MCP HubMCP Hub
manueltarouca

limitless-mcp-server

by: manueltarouca

A Model Context Protocol server, client and interactive mode for Limitless API

8created 15/03/2025
Visit
API
interactive

📌Overview

Purpose: This framework aims to provide a simplistic implementation for the MCP server/client to facilitate interaction with the Limitless Developer API.

Overview: The Limitless MCP Integration demonstrates how to seamlessly expose API endpoints as MCP tools and utilize them via a client, all within a unified codebase.

Key Features:

  • MCP Server: Exposes a GET endpoint that allows users to access lifelog data, optionally filtered by query parameters.

  • MCP Client: Connects efficiently to the server to invoke the available tools, ensuring smooth operations across different modes.

  • Interactive Mode: Offers a user-friendly interface for executing any tool with dynamic JSON parameters, enhancing user engagement and functionality.


Limitless MCP Integration

This repository provides a minimal MCP server/client implementation for interacting with the Limitless Developer API (GET endpoint only). It demonstrates how to expose API endpoints as MCP tools and how to call them via a client using a single merged codebase.

Features

  • MCP Server: Exposes a GET endpoint:
    • getLifelogs: List lifelogs with optional query parameters.
  • MCP Client: Connects to the server and calls the tools.
  • Interactive Mode: Allows calling any tool with JSON parameters.
  • Passes environment variables (including API key) to the spawned server.

Prerequisites

  • Node.js v20 or higher (with native fetch support or a polyfill)
  • npm
  • A valid Limitless API key

Setup

  1. Clone the repository and navigate into it.

  2. Install dependencies:

    npm ci
    
  3. Export your API key:

    export LIMITLESS_API_KEY=your_api_key_here
    

Build

Compile the TypeScript code:

npm run build

Usage

The merged implementation supports three modes:

  • Server Mode: Runs the MCP server.

    node build/index.js server
    
  • Client Mode: Spawns the server and calls the getLifelogs tool.

    node build/index.js client
    
  • Interactive Mode: Launches an interactive client to call tools with JSON parameters.

    node build/index.js interactive
    

References

License

This project is licensed under the MIT License.