ServeMyAPI

by Jktfe
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides an alternative to .ENV files by securely storing API keys in the macOS Keychain while maintaining accessibility across projects

  • Mentioned in the roadmap as a framework that will have easy integration options for accessing securely stored API keys

  • Solves security conflicts with GitHub by storing API keys securely in the Keychain rather than in .gitignore'd files

ServeMyAPI

Un servidor MCP (Protocolo de contexto de modelo) personal para almacenar y acceder de forma segura a claves API en todos los proyectos mediante el llavero de macOS.

IMPORTANTE : ServeMyAPI es una herramienta específica de macOS que utiliza el llavero de macOS para el almacenamiento seguro. No es compatible con los sistemas operativos Windows ni Linux. Consulte la sección de notas de seguridad para obtener más información.

Descripción general

ServeMyAPI le permite almacenar claves API de forma segura en el llavero de macOS y acceder a ellas a través de una interfaz MCP consistente. Esto facilita:

  • Almacene las claves API de forma segura (nunca son visibles en archivos .env o archivos de configuración)
  • Acceda a las mismas claves en múltiples proyectos
  • Utilice lenguaje natural para almacenar y recuperar claves (cuando se utiliza con LLM como Claude)
  • Proporcione claves directamente a su asistente de IA cuando necesite acceder a los servicios

¿Por qué ServeMyAPI en lugar de archivos .ENV?

El uso de ServeMyAPI en lugar de los archivos .ENV tradicionales resuelve varios problemas comunes:

  1. Conflictos de seguridad de GitHub :
    • Los archivos .ENV deben excluirse de los repositorios de Git por seguridad (a través de .gitignore)
    • Esto crea un problema de "contexto oculto" donde la configuración importante es invisible para los colaboradores y los LLM.
    • Los nuevos desarrolladores a menudo tienen dificultades para configurar las variables de entorno correctas
  2. Desafíos de la integración de LLM :
    • Los LLM como Claude no pueden acceder directamente a sus archivos .ENV debido a restricciones de seguridad
    • Cuando los LLM necesitan claves API para completar tareas, a menudo se necesitan soluciones manuales alternativas
    • ServeMyAPI permite que su asistente de IA solicite claves a través del lenguaje natural
  3. Coherencia entre proyectos :
    • Con archivos .ENV, normalmente es necesario duplicar claves API en varios proyectos
    • Cuando cambian las claves, es necesario actualizar varios archivos
    • ServeMyAPI proporciona una ubicación de almacenamiento central accesible desde cualquier proyecto

Este enfoque le ofrece lo mejor de ambos mundos: almacenamiento seguro de credenciales confidenciales sin sacrificar la visibilidad y la accesibilidad de sus herramientas de IA.

Características

  • Almacenamiento seguro de claves API en el llavero de macOS
  • Herramientas MCP sencillas para almacenar, recuperar, enumerar y eliminar claves
  • Compatibilidad con transportes stdio y HTTP/SSE
  • Compatible con cualquier cliente MCP (Claude Desktop, etc.)

Instalación

# Clone the repository git clone https://github.com/yourusername/servemyapi.git cd servemyapi # Install dependencies npm install # Build the project npm run build

Uso

Ejecutándose como un servidor stdio

Esta es la forma más sencilla de utilizar ServeMyAPI, especialmente cuando se trabaja con Claude Desktop:

npm start

Ejecutándose como un servidor HTTP

Para aplicaciones que requieren acceso HTTP:

node dist/server.js

Esto iniciará el servidor en el puerto 3000 (o el puerto especificado en la variable de entorno PORT).

Uso de herrería

ServeMyAPI está disponible como un servicio alojado en Smithery .

import { createTransport } from "@smithery/sdk/transport.js" const transport = createTransport("https://server.smithery.ai/@Jktfe/servemyapi") // Create MCP client import { Client } from "@modelcontextprotocol/sdk/client/index.js" const client = new Client({ name: "Test client", version: "1.0.0" }) await client.connect(transport) // Use the server tools with your LLM application const tools = await client.listTools() console.log(`Available tools: ${tools.map(t => t.name).join(", ")}`)

Para obtener más detalles, consulte la documentación de la API de Smithery .

Configuración de clientes MCP

ServeMyAPI funciona con cualquier cliente compatible con MCP. Se proporcionan archivos de configuración de ejemplo en el directorio examples .

Escritorio de Claude

Para utilizar ServeMyAPI con Claude Desktop:

  1. Localice o cree el archivo de configuración de Claude Desktop:
    • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas : %AppData%\Claude\claude_desktop_config.json
  2. Agregue ServeMyAPI a la sección mcpServers (puede copiar desde examples/claude_desktop_config.json ):
    { "mcpServers": { "serveMyAPI": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/servemyapi/dist/index.js" ] } } }
  3. Reemplace /ABSOLUTE/PATH/TO/servemyapi con la ruta real a su instalación de ServeMyAPI.
  4. Reinicie Claude Desktop.

Windsurf

Para utilizar ServeMyAPI con Windsurf:

  1. Abra el editor Windsurf y navegue hasta Configuración
  2. Agregue ServeMyAPI a la configuración de su servidor MCP usando el ejemplo en examples/windsurf_config.json
  3. Adapte las rutas a su instalación local

Herramientas MCP

ServeMyAPI expone las siguientes herramientas:

almacenar-clave-API

Almacene una clave API en la cadena de llaves.

Parámetros:

  • name : El nombre/identificador de la clave API
  • key : La clave API para almacenar

Ejemplo (de Claude):

Using serveMyAPI, store my API key ABC123XYZ as "OpenAI API Key"

obtener clave API

Recupere una clave API del llavero.

Parámetros:

  • name : El nombre/identificador de la clave API que se recuperará

Ejemplo (de Claude):

Using serveMyAPI, get the API key named "OpenAI API Key"

eliminar clave API

Eliminar una clave API de la cadena de llaves.

Parámetros:

  • name : El nombre/identificador de la clave API que se eliminará

Ejemplo (de Claude):

Using serveMyAPI, delete the API key named "OpenAI API Key"

lista de claves API

Enumere todas las claves API almacenadas.

No se requieren parámetros.

Ejemplo (de Claude):

Using serveMyAPI, list all my stored API keys

Notas de seguridad

  • Todas las claves API se almacenan de forma segura en el llavero de macOS
  • Las claves sólo son accesibles para el usuario actual
  • El llavero requiere autenticación para acceder.
  • No se almacenan claves en texto plano ni se registran en ningún lugar

Hoja de ruta

Los planes futuros para ServeMyAPI incluyen:

  • Herramienta de escaneo de código : Esta herramienta escanea automáticamente su base de código en busca de endpoints de API, URL sensibles y variables de entorno, y sugiere nombres para almacenarlos en el llavero. Esto permitirá a los desarrolladores seguir usando archivos .ENV en su flujo de trabajo habitual, a la vez que garantiza que las credenciales también estén disponibles para los LLM y otras herramientas cuando sea necesario.
  • Compatibilidad multiplataforma : se investigan opciones de almacenamiento de credenciales seguras para Windows y Linux para que ServeMyAPI sea más accesible.
  • Integración con marcos populares : proporciona una fácil integración con marcos como Next.js, Express y otros.
  • Interfaz de usuario para gestión de claves : una interfaz web sencilla para gestionar directamente sus claves API almacenadas.

Siéntete libre de sugerir características adicionales o contribuir a la hoja de ruta abriendo un problema o una solicitud de extracción.

Desarrollo

# Run in development mode with hot reload npm run dev # Lint the code npm run lint # Build for production npm run build

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor MCP personal para almacenar y acceder de forma segura a claves API en proyectos mediante macOS Keychain, lo que permite que los asistentes y aplicaciones de IA recuperen credenciales a través del lenguaje natural.

  1. Overview
    1. Why ServeMyAPI over .ENV Files?
      1. Features
        1. Installation
          1. Usage
            1. Running as a stdio server
            2. Running as an HTTP server
            3. Using Smithery
            4. Configuring MCP Clients
          2. MCP Tools
            1. store-api-key
            2. get-api-key
            3. delete-api-key
            4. list-api-keys
          3. Security Notes
            1. Roadmap
              1. Development
                1. License
                  ID: y2unl3n9g4