Skip to main content
Glama

Servidor MCP ilimitado (v0.1.0)

VersiónLicencia

Este es un servidor MCP (Protocolo de Contexto de Modelo) que conecta los datos de tu Limitless Pendant con herramientas de IA como Claude, Windsurf y otras a través de la API de Limitless . Permite que las interfaces de chat y los agentes de IA interactúen con tu Lifelog de forma estructurada y programable. Avancemos hacia un futuro más organizado e inteligente, con interacciones contextuales cada vez.

¿Qué es MCP?
El Protocolo de Contexto de Modelo es un estándar abierto para conectar modelos de IA con herramientas y datos externos (como el puerto USB-C o incluso el protocolo HTTP para IA): universal, fiable y diseñado para la extensibilidad. El estándar que todos adoptan. Permite integraciones avanzadas, flujos de trabajo personalizados y una comunicación fluida entre la IA y las herramientas que utilizas a diario.

NOTA IMPORTANTE: A partir de marzo de 2025, la API de Limitless requiere que los datos se registren mediante el Limitless Pendant . Este servidor depende de los datos reales registrados por su Limitless Pendant; sin ellos, no devolverá información significativa. Asegúrese de que su Limitless Pendant esté conectado y grabando.

Estado de la API y planes futuros:

  • La API oficial de Limitless se encuentra actualmente en fase beta . Por lo tanto, puede ser poco fiable, estar sujeta a cambios o experimentar interrupciones temporales.

  • Solicitar grandes cantidades de datos (por ejemplo, listar o buscar cientos de registros) puede generar errores de tiempo de espera (como 504 "Tiempo de espera de puerta de enlace") debido a restricciones de la API o de la red. El servidor incluye un tiempo de espera de 120 segundos por llamada a la API para mitigar esto, pero las solicitudes muy grandes pueden fallar.

  • La API Limitless está en desarrollo activo . Este servidor MCP se actualizará con nuevas funciones y mejoras a medida que estén disponibles en la API oficial.

  • La versión 0.2.0 de este servidor MCP ya está en desarrollo, con planes de agregar características más sólidas y potencialmente nuevas herramientas en el futuro cercano.

Características (v0.1.0)

  • Listar/Obtener registros de vida: Recupera grabaciones del colgante por ID, fecha, rango de fechas o lista de entradas recientes. Incluye control sobre la dirección de ordenación ( asc / desc ).

  • Buscar registros recientes: realice búsquedas de texto simples dentro del contenido de una cantidad configurable de grabaciones recientes de Pendant (Nota: solo se pueden buscar registros recientes; no se admite la búsqueda en el historial completo).

Con este servidor, puedes hacer cosas como extraer elementos de acción de tu Lifelog y enviarlos directamente a Notion, a través de Claude, ChatWise, Windsurf o cualquier otro asistente/aplicación de IA que admita MCP.

Related MCP server: BeeMCP

Prerrequisitos

  • Node.js (se requiere v18 o posterior)

  • npm o hilo

  • Una cuenta ilimitada y una clave API ( Obtén una aquí )

  • Un colgante sin límites (necesario para los datos)

  • Una aplicación cliente MCP (por ejemplo, Claude, Windsurf, Cursor, ChatWise, ChatGPT (¡próximamente!)) capaz de generar servidores stdio y pasar variables de entorno.

Configuración

  1. Clonar o descargar este proyecto.

  2. Navegar al directorio:

    cd mcp-limitless-server
  3. Instalar dependencias:

    npm install
  4. Construya el código:

    npm run build

Configuración (lado del cliente)

Este servidor espera que LIMITLESS_API_KEY se proporcione como una variable de entorno cuando lo inicie su cliente MCP.

Debe agregar un bloque de configuración de servidor al archivo de configuración de su cliente MCP. A continuación, se muestran dos ejemplos, dependiendo de si lo agrega como su primer servidor o junto con los servidores existentes.

Ejemplo A: Agregar como el primer/único servidor

Si el archivo de configuración de su cliente actualmente tiene un objeto mcpServers vacío ( "mcpServers": {} ), reemplácelo con esto:

{
  "mcpServers": {
    "limitless": {
      "command": "node",
      "args": ["<FULL_FILE_PATH_TO_DIST_SERVER.js>"],
      "env": {
        "LIMITLESS_API_KEY": "<YOUR_LIMITLESS_API_KEY_HERE>"
      }
    }
  }
}

Ejemplo B: Agregar a servidores existentes

Si su objeto mcpServers ya contiene otros servidores (como "notion": {...} ), agregue el bloque "limitless" junto a ellos, asegurando una sintaxis JSON correcta (comas entre entradas):

{
  "mcpServers": {
    "some_other_server": {
      "command": "...",
      "args": ["..."],
      "env": {
        "EXAMPLE_VAR": "value"
      }
    },
    "limitless": {
      "command": "node",
      "args": ["<FULL_FILE_PATH_TO_DIST_SERVER.js>"],
      "env": {
        "LIMITLESS_API_KEY": "<YOUR_LIMITLESS_API_KEY_HERE>"
      }
    }
  }
}

Importante:

  • Reemplace <FULL_FILE_PATH_TO_DIST_SERVER.js> con la ruta correcta y absoluta al script del servidor compilado (p. ej., /Users/yourname/Documents/MCP/mcp-limitless-server/dist/server.js ). Las rutas relativas podrían no funcionar correctamente según el cliente.

  • Reemplace <YOUR_LIMITLESS_API_KEY_HERE> con su clave API Limitless real.

  • Los archivos de configuración de MCP no pueden contener comentarios . Elimine cualquier texto de marcador de posición como <YOUR_LIMITLESS_API_KEY_HERE> y reemplácelo con su clave real.

Ejecución del servidor (a través del cliente)

No ejecute npm start directamente.

  1. Asegúrese de que el servidor se haya creado correctamente ( npm run build ).

  2. Configure su cliente MCP como se muestra arriba.

  3. Inicie su aplicación cliente MCP. Iniciará el proceso mcp-limitless-server automáticamente cuando sea necesario.

Herramientas MCP expuestas (v0.1.0)

(Consulte src/server.ts o pregunte al servidor a través de su cliente para obtener detalles completos).

  1. limitless_get_lifelog_by_id : recupera una sola grabación de Colgante por su ID específico.

  2. limitless_list_lifelogs_by_date : enumera las grabaciones de Colgante para una fecha específica.

  3. limitless_list_lifelogs_by_range : enumera las grabaciones del colgante dentro de un rango de fecha y hora.

  4. limitless_list_recent_lifelogs : enumera las grabaciones de Colgante más recientes.

  5. limitless_search_lifelogs : busca el título/contenido de grabaciones recientes de Pendant (¡alcance limitado!).

Notas y limitaciones

🚫 Se requiere colgante
Este servidor depende de los datos generados por el Limitless Hanging.

🧪 Estado de la versión beta de la API
La API Limitless está en fase beta y puede experimentar inestabilidad o limitaciones de velocidad ocasionales. Las solicitudes grandes pueden provocar tiempos de espera (por ejemplo, errores 504).

🔍 Ámbito de búsqueda
limitless_search_lifelogs solo analiza un número limitado de registros recientes (predeterminado: 20, máximo: 100). No busca en todo el historial; utilice primero las herramientas de listado para un análisis más completo.

⚠️ Manejo de errores y tiempo de espera
Los errores de API se traducen en resultados de error de MCP. Cada llamada a la API tiene un tiempo de espera de 120 segundos.

🔌 Transporte
Este servidor utiliza stdio y está diseñado para ser iniciado por una aplicación cliente compatible con MCP.

Contribuyendo

¿Tienes ideas, mejoras o comentarios? No dudes en abrir un problema o una solicitud de relaciones públicas. ¡Las contribuciones siempre son bienvenidas! Sigamos ampliando los límites de lo posible con el contexto portátil y las herramientas inteligentes. https://github.com/ipvr9/mcp-limitless-server

Available Tools

5 tools
limitless_get_lifelog_by_idC

Retrieves a single lifelog or Pendant recording by its specific ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
lifelog_idYesThe unique identifier of the lifelog to retrieve.
includeMarkdownNoInclude markdown content in the response.
includeHeadingsNoInclude headings content in the response.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states 'Retrieves' implying a read-only operation, but doesn't disclose behavioral traits such as authentication requirements, rate limits, error handling, or what happens if the ID is invalid. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., the structure of a lifelog, what 'markdown' or 'headings' content entails), leaving the agent uncertain about the response format. For a retrieval tool with rich data, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the three parameters. The description adds no additional meaning beyond implying retrieval by ID, which is already covered in the schema. This meets the baseline of 3 where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Retrieves') and resource ('a single lifelog or Pendant recording'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'limitless_get_full_transcript' or 'limitless_get_detailed_analysis' that might also retrieve lifelog content but with different scopes or formats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like needing a specific ID, nor does it reference sibling tools (e.g., 'limitless_list_lifelogs_by_date' for listing multiple lifelogs), leaving the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

limitless_list_lifelogs_by_dateB

Lists logs/recordings for a specific date. Best for getting raw log data which you can then analyze for summaries, action items, topics, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesThe date to retrieve lifelogs for, in YYYY-MM-DD format.
limitNoMaximum number of lifelogs to return (Max: 100). Fetches in batches from the API if needed.
timezoneNoIANA timezone for date/time parameters (defaults to server's local timezone).
includeMarkdownNoInclude markdown content in the response.
includeHeadingsNoInclude headings content in the response.
directionNoSort order ('asc' for oldest first, 'desc' for newest first).

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions the tool is for 'getting raw log data' and analysis, but doesn't disclose behavioral traits like whether it's read-only, has rate limits, authentication needs, or what the response format looks like. The description adds minimal context beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose in the first sentence. The second sentence adds useful context about usage. Both sentences earn their place, though it could be slightly more structured (e.g., explicitly mentioning sibling tools).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is moderately complete for a list tool. It covers the purpose and usage context but lacks details on behavioral traits (e.g., pagination, error handling) and output format, which are important for a tool with 6 parameters and no structured output documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining how 'date' interacts with 'timezone' or the implications of 'includeMarkdown'. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Lists logs/recordings for a specific date.' It specifies the verb ('Lists') and resource ('logs/recordings'), but doesn't explicitly differentiate from siblings like 'limitless_list_lifelogs_by_range' or 'limitless_list_recent_lifelogs' beyond the date specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage guidance: 'Best for getting raw log data which you can then analyze for summaries, action items, topics, etc.' This implies when to use it (for raw data analysis), but doesn't explicitly state when not to use it or name alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

limitless_list_lifelogs_by_rangeA

Lists logs/recordings within a date/time range. Best for getting raw log data which you can then analyze for summaries, action items, topics, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
startYesStart datetime filter (YYYY-MM-DD or YYYY-MM-DD HH:mm:SS).
endYesEnd datetime filter (YYYY-MM-DD or YYYY-MM-DD HH:mm:SS).
limitNoMaximum number of lifelogs to return (Max: 100). Fetches in batches from the API if needed.
timezoneNoIANA timezone for date/time parameters (defaults to server's local timezone).
includeMarkdownNoInclude markdown content in the response.
includeHeadingsNoInclude headings content in the response.
directionNoSort order ('asc' for oldest first, 'desc' for newest first).

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool is for listing raw log data, implying a read-only operation, but does not specify permissions, rate limits, or response format details. The description adds some context about data analysis use but lacks comprehensive behavioral traits like pagination or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence and adds a concise usage guideline in the second. Both sentences earn their place by providing clear value without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no output schema, no annotations), the description is moderately complete. It covers purpose and usage but lacks details on behavioral aspects like response format, error cases, or prerequisites. Without annotations or output schema, more context on what the tool returns would be beneficial for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description does not add any parameter-specific semantics beyond what the schema provides, such as explaining interactions between parameters or default behaviors. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Lists') and resource ('logs/recordings') with specific scope ('within a date/time range'). It distinguishes from siblings by emphasizing raw log data for analysis, unlike tools like 'limitless_get_lifelog_by_id' (single log) or 'limitless_list_lifelogs_by_date' (date-specific).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('Best for getting raw log data which you can then analyze for summaries, action items, topics, etc.'). However, it does not explicitly state when not to use it or name specific alternatives among the siblings, such as 'limitless_list_recent_lifelogs' for recent logs without date ranges.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

limitless_list_recent_lifelogsA

Lists the most recent logs/recordings (sorted newest first). Best for getting raw log data which you can then analyze for summaries, action items, topics, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent lifelogs to retrieve (Max: 100). Defaults to 10.
timezoneNoIANA timezone for date/time parameters (defaults to server's local timezone).
includeMarkdownNoInclude markdown content in the response.
includeHeadingsNoInclude headings content in the response.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions sorting ('newest first') and the nature of the data ('raw log data'), which adds useful context. However, it lacks details on permissions, rate limits, pagination, or what the response format looks like (e.g., structure of returned logs). This leaves gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured with two sentences: the first states the core functionality, and the second provides usage guidance. Every sentence adds value without redundancy, making it easy to parse and front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is moderately complete. It covers purpose and usage but lacks behavioral details (e.g., response format, error handling) and doesn't fully compensate for the absence of structured output information. For a list tool with 4 parameters, it's adequate but has clear gaps in transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 4 parameters (limit, timezone, includeMarkdown, includeHeadings). The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining how 'limit' interacts with 'recent' or the implications of the boolean flags. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Lists the most recent logs/recordings (sorted newest first).' It specifies the verb ('lists'), resource ('logs/recordings'), and sorting behavior. However, it doesn't explicitly differentiate from siblings like 'limitless_list_lifelogs_by_date' or 'limitless_list_lifelogs_by_range' beyond mentioning 'recent' and 'newest first.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: 'Best for getting raw log data which you can then analyze for summaries, action items, topics, etc.' This implies when to use it (for raw data analysis) but doesn't explicitly state when not to use it or name alternatives among the sibling tools, such as when date-based filtering is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

limitless_search_lifelogsA

Performs a simple text search for specific keywords/phrases within the title and content of recent logs/Pendant recordings. Use ONLY for keywords, NOT for concepts like 'action items' or 'summaries'. Searches only recent logs (limited scope).

ParametersJSON Schema
NameRequiredDescriptionDefault
search_termYesThe text to search for within lifelog titles and content.
fetch_limitNoHow many *recent* lifelogs to fetch from the API to search within (Default: 20, Max: 100). This defines the scope of the search, NOT the number of results returned.
limitNoMaximum number of lifelogs to return (Max: 100). Fetches in batches from the API if needed.
timezoneNoIANA timezone for date/time parameters (defaults to server's local timezone).
includeMarkdownNoInclude markdown content in the response.
includeHeadingsNoInclude headings content in the response.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses important behavioral traits: the search is limited to recent logs, it searches both title and content, and it's keyword-based (not conceptual). However, it doesn't mention authentication requirements, rate limits, error conditions, or what the response format looks like. For a search tool with 6 parameters, this leaves significant behavioral aspects undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with zero waste. Each sentence adds distinct value: first states the core function, second provides critical usage restrictions, third clarifies scope limitation. The description is appropriately sized and front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 6 parameters and no output schema, the description provides good purpose and usage guidance but lacks behavioral details about authentication, rate limits, error handling, and response format. The absence of annotations means the description should compensate more for behavioral transparency, which it only partially addresses. It's adequate but has clear gaps for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds some context about 'recent' logs which relates to fetch_limit's scope, but doesn't provide additional parameter semantics beyond what's in the schema. This meets the baseline expectation when schema coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('performs a simple text search') and resources ('within the title and content of *recent* logs/Pendant recordings'). It distinguishes from siblings by specifying it's for keyword searches only, unlike list/retrieve siblings like limitless_list_lifelogs_by_date or limitless_get_lifelog_by_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('Use ONLY for keywords, NOT for concepts like 'action items' or 'summaries'') and provides context about scope ('Searches only recent logs (limited scope)'). This gives clear guidance on appropriate vs. inappropriate use cases, though it doesn't name specific alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedlimitless_get_lifelog_by_id
    • First observedlimitless_list_lifelogs_by_date
    • First observedlimitless_list_lifelogs_by_range
    • First observedlimitless_list_recent_lifelogs
    • First observedlimitless_search_lifelogs

TDQS

A3.6/5.0

Scored across 5 tools

Disambiguation4/5

The tools are mostly distinct in purpose, focusing on different retrieval methods for lifelogs. However, there is some overlap between 'list_lifelogs_by_date', 'list_lifelogs_by_range', and 'list_recent_lifelogs', as all three list logs based on time criteria, which could cause mild confusion about which to use for specific time-based queries.

Naming Consistency5/5

All tool names follow a consistent pattern: they start with 'limitless_' followed by a verb_noun structure (e.g., 'get_lifelog_by_id', 'list_lifelogs_by_date'). This uniformity makes the tool set predictable and easy to navigate.

Tool Count5/5

With 5 tools, the server is well-scoped for its purpose of retrieving lifelogs. Each tool serves a specific function (e.g., by ID, date, range, recency, search), and none seem redundant or missing for basic retrieval operations.

Completeness3/5

The tool set covers retrieval operations comprehensively, but there are notable gaps in the lifecycle. It lacks create, update, or delete tools for lifelogs, which limits agents to read-only interactions. This could cause failures if agents need to modify data.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that connects Whoop fitness data to Claude, enabling natural language queries about recovery, sleep, workouts, and more.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Unofficial MCP server that bridges AI assistants with Bee wearable lifelogging data, enabling retrieval and management of conversations, facts, todos, and locations.
    51
    MIT