Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

MedRecPro Drug Label Server

de chriserikbarnesversión 1.0.3i★ –iSe ejecuta en la nube
Nombre en el registrocom.medrecpro/drug-label-server

Instalar

Resumen

Descripción del creador (original en inglés)

Search and export FDA drug labels by brand name, generic ingredient, or UNII code.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en la nube
  • Transporte: Streamable HTTP
  • Categoría: Clínicas y salud

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Funciona en Claude para web, escritorio y móvil:

  1. Abre Settings → Connectors
  2. Presiona Add custom connector
  3. Pega la dirección de abajo y presiona Add
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Add2https://…3
https://www.medrecpro.com/mcp

Ejecuta esto en tu terminal

claude mcp add --transport http drug-label https://www.medrecpro.com/mcp

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "drug-label": {
      "url": "https://www.medrecpro.com/mcp"
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "drug-label": {
      "type": "http",
      "url": "https://www.medrecpro.com/mcp"
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

ChatGPT solo se conecta a servidores en internet:

  1. Abre ChatGPT en la web → Settings → Connectors (Apps)
  2. Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
  3. Pega la dirección de abajo, ponle un nombre y guarda
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Create2https://…3
https://www.medrecpro.com/mcp

Los nombres de los menús pueden variar un poco según el plan y con el tiempo.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con el dominio medrecpro.com (el registro comprueba quién es dueño del dominio)

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    El endpoint responde

    Aún sin revisar; revisamos los endpoints por turnos

  • … Aún sin revisar

    Inicio de sesión con OAuth

    Aún sin revisar; revisamos los endpoints por turnos

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint

Comparado con otros en Clínicas y saludi

  • Más estrellas que el 0% de los otros 1022 servidores de esta categoría
  • Publicado en el registro más recientemente que el 2% de los otros 1022 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 1022 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro MedRecPro Drug Label Server?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (1.0.3) llegó al registro hace 8 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.

¿Qué puedo usar en su lugar?

En la misma categoría: Mirobody, FHIR MCP Server, Google Health MCP

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Mirobody

de thetahealth

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

Se ejecuta en tu computadora★ 1408Apache-2.0Actualizado hoy
Instalar

MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications

Se ejecuta en tu computadora★ 137Apache-2.0Actualizado hace 9 días
Instalar

Google Health MCP

de davidmosiah

Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents

Se ejecuta en tu computadora★ 79MITActualizado hace 4 meses
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

MedRecPro MCP Server

MCP (Model Context Protocol) server for the MedRecPro application. Acts as an OAuth 2.1 gateway between MCP clients (Claude, etc.) and the MedRecPro Web API.

Version: 1.0.0 Runtime: ASP.NET Core 8.0 Production URL: https://www.medrecpro.com/mcp

Architecture

                             Azure App Service: "MedRecPro" (Windows, IIS)

+--------------------------------------------------+ | | +------------------+ | / site\wwwroot MedRecProStatic | | Claude / MCP | HTTPS | /api site\wwwroot\api MedRecPro API | | Client |------->| /mcp site\wwwroot\mcp MedRecProMCP | +------------------+ | | | +--------------------------------------------------+ v | +------------------+ v | Cloudflare | +------------------+ | (CDN/WAF/DNS) | | Azure Key Vault | +------------------+ | (medrecprovault)| +------------------+

The MCP server runs as an IIS virtual application at /mcp on the same Azure App Service as the main MedRecPro UI and API. IIS handles path-based routing to three separate ASP.NET Core processes:

Virtual PathPhysical PathProjectPurpose
/site\wwwrootMedRecProStaticUI / Static content
/apisite\wwwroot\apiMedRecProWeb API
/mcpsite\wwwroot\mcpMedRecProMCPMCP Server (this project)

Endpoints

All endpoints are externally prefixed with /mcp by the IIS virtual application.

External URLMethodDescription
/mcpPOSTMCP Streamable HTTP transport (JSON-RPC)
/mcp/healthGETHealth check (returns JSON status)
/mcp/docsGETHTML technical documentation page
/mcp/getting-startedGETHTML getting-started page (user-facing, for directory listing)
/mcp/docs/images/{filename}GETServes embedded screenshot images (PNG)
/mcp/.well-known/oauth-protected-resourceGETProtected Resource Metadata (RFC 9728)
/mcp/.well-known/oauth-authorization-serverGETAuthorization Server Metadata (RFC 8414)
/mcp/oauth/authorizeGETOAuth authorization endpoint
/mcp/oauth/tokenPOSTToken exchange endpoint
/mcp/oauth/registerPOSTDynamic Client Registration (RFC 7591)
/mcp/oauth/callback/googleGETGoogle OAuth callback
/mcp/oauth/callback/microsoftGETMicrosoft OAuth callback

Note: GET /mcp returns HTTP 405 (Method Not Allowed). This is correct behavior. The MCP transport only accepts POST requests. For browser-accessible pages, use /mcp/docs (technical documentation) or /mcp/getting-started (user-facing guide).

Authentication Flow

1. Claude sends POST to /mcp (unauthenticated)
  1. Server returns 401 with WWW-Authenticate header pointing to PRM
  2. Claude fetches /mcp/.well-known/oauth-protected-resource
  3. Claude fetches /mcp/.well-known/oauth-authorization-server
  4. Claude registers via /mcp/oauth/register (Dynamic Client Registration)
  5. Claude redirects user to /mcp/oauth/authorize?provider=google
  6. User authenticates with Google/Microsoft
  7. Provider redirects to /mcp/oauth/callback/{provider}
  8. MCP server resolves upstream IdP email to numeric DB user ID via POST /api/users/resolve-mcp (auto-provisions user if they don't exist in the database)
  9. MCP server issues authorization code with numeric sub claim (standard JWT name), redirects to Claude
  10. Claude exchanges code for tokens via /mcp/oauth/token
  11. Claude sends authenticated POST to /mcp with Bearer MCP JWT
  12. MCP server forwards MCP JWT to MedRecPro API for each tool call (McpBearer auth scheme)

User Resolution and Auto-Provisioning

During the OAuth callback (step 9), the MCP server must map the upstream identity provider's identifier (Google sub / Microsoft GUID) to a numeric MedRecPro database user ID. The API's getEncryptedIdFromClaim() method expects a numeric NameIdentifier claim — without this resolution, all API calls would fail with 401.

How it works:

  1. OAuthEndpoints.cs extracts email, display name, and provider from upstream IdP claims
  2. UserResolutionService generates a temporary MCP JWT and calls POST /api/users/resolve-mcp
  3. The API's UsersController.ResolveMcpUser() looks up the user by email:
  • User exists: Returns their encrypted database user ID
  • User doesn't exist: Auto-provisions a new user record (matching AuthController.createUserForExternalLogin() defaults: EmailConfirmed=true, Timezone="UTC", Locale="en-US", no password), then returns the encrypted ID
  1. UserResolutionService decrypts the encrypted ID using the shared Security:DB:PKSecret via StringCipher
  2. OAuthEndpoints.cs replaces the upstream NameIdentifier claim with the numeric database user ID
  3. McpTokenService.normalizeClaimType() converts ClaimTypes.NameIdentifier to the standard JWT sub claim during token creation, and OutboundClaimTypeMap is cleared to prevent double-mapping
  4. The MCP JWT is issued with the numeric user ID as the sub claim, enabling all API calls to succeed

Key architecture:

  • TokenForwardingHandler forwards the MCP JWT directly to the API (not the upstream Google/Microsoft token). The API's McpBearer authentication scheme validates these MCP-signed JWTs.
  • Both the MCP server and API share Security:DB:PKSecret from Azure Key Vault for StringCipher encryption/decryption of user IDs.
  • UserResolutionService uses a dedicated "MedRecProApiDirect" named HttpClient (without TokenForwardingHandler) to avoid circular token forwarding during resolution.
  • Claim normalization: McpTokenService normalizes .NET ClaimTypes URIs to standard JWT short names (sub, name, email, given_name, family_name) before token creation. Both JWT handlers set MapInboundClaims = false so claims retain their short names when read back. The API's ClaimHelper resolves user IDs from both ClaimTypes.NameIdentifier (cookie auth) and "sub" (MCP JWT auth).

Compiler Directives (#if DEBUG)

Route paths use compiler directives to handle IIS virtual application path stripping. This follows the same pattern as ApiControllerBase in the MedRecPro API project.

Problem: IIS strips the /mcp prefix from requests before forwarding to the app. A request to www.medrecpro.com/mcp/oauth/authorize arrives at Kestrel as /oauth/authorize. Routes must account for this.

ComponentDEBUG (local dev)RELEASE (Azure/IIS)
MCP transportMapMcp("/mcp")MapMcp("/")
Health checkGET /GET /health
DocumentationGET /mcp/docsGET /docs
Getting startedGET /mcp/getting-startedGET /getting-started
Image servingGET /mcp/docs/images/{filename}GET /docs/images/{filename}
OAuth group/mcp/oauth/oauth
Well-known metadata/mcp/.well-known/*/.well-known/*
PRM redirect/mcp/.well-known/oauth-protected-resource redirects to SDK pathNot needed (IIS handles)

Files with compiler directives:

  • Program.cs - MCP transport, health check, docs, getting-started, image serving, PRM redirect
  • Endpoints/OAuthEndpoints.cs - OAuth route group prefix
  • Endpoints/OAuthMetadataEndpoints.cs - Well-known metadata paths

Config-driven (no directives needed):

  • OAuth callback URLs - Built from McpServer:ServerUrl at runtime
  • OAuth metadata document contents - Built from McpServer:ServerUrl at runtime
  • Protected Resource Metadata - Built from McpServer:ServerUrl at runtime

Setup Guide

Prerequisites
  • .NET 8.0 SDK
  • Azure subscription with:
  • App Service (Windows, IIS) - shared with MedRecPro
  • Key Vault (medrecprovault)
  • Application Insights (optional)
  • Cloudflare account with medrecpro.com domain
  • Google Cloud Console project with OAuth 2.0 credentials
  • Microsoft Entra ID app registration
1. Local Development Setup
Clone and restore
git clone <repo-url>

cd MedRecProMCP dotnet restore

Configure user secrets
dotnet user-secrets init

dotnet user-secrets set "McpServer:JwtSigningKey" " " dotnet user-secrets set "Jwt:Key" " " dotnet user-secrets set "Jwt:Issuer" "http://localhost:5233/mcp" dotnet user-secrets set "Jwt:Audience" "http://localhost:5233/mcp" dotnet user-secrets set "Jwt:ExpirationMinutes" "60" dotnet user-secrets set "Jwt:UpstreamTokenEncryptionKey" "<32-char-aes-key>" dotnet user-secrets set "Authentication:Google:ClientId" " " dotnet user-secrets set "Authentication:Google:ClientSecret" " " dotnet user-secrets set "Authentication:Microsoft:ClientId" " " dotnet user-secrets set "Authentication:Microsoft:ClientSecret:Dev" " " dotnet user-secrets set "Authentication:Microsoft:TenantId" " " dotnet user-secrets set "Security:DB:PKSecret" " "

Run locally
dotnet run

The server runs at http://localhost:5233. In DEBUG mode, endpoints include the /mcp prefix:

  • Health check: http://localhost:5233/
  • MCP transport: http://localhost:5233/mcp (POST only)
  • Documentation: http://localhost:5233/mcp/docs
  • Getting started: http://localhost:5233/mcp/getting-started
  • Screenshot images: http://localhost:5233/mcp/docs/images/{filename}
  • OAuth metadata: http://localhost:5233/mcp/.well-known/oauth-authorization-server
2. Azure App Service Setup
Add virtual application

In Azure Portal:

  1. Navigate to App Service "MedRecPro" > Configuration > Path mappings
  2. Click "+ Add virtual application or directory"
  3. Configure:
  • Virtual path: /mcp
  • Physical path: site\wwwroot\mcp
  • Type: Check Application
  1. Click Save
Key Vault secrets

Ensure the following secrets exist in Azure Key Vault (medrecprovault). These are shared with the MedRecPro API since both apps use the same Key Vault:

Secret NameDescription
McpServer--JwtSigningKeyJWT signing key for MCP tokens (min 32 chars)
Jwt--KeyJWT signing key
Jwt--IssuerJWT issuer claim
Jwt--AudienceJWT audience claim
Jwt--ExpirationMinutesToken expiration (e.g., 60)
Jwt--UpstreamTokenEncryptionKeyAES encryption key for upstream tokens
Authentication--Google--ClientIdGoogle OAuth Client ID
Authentication--Google--ClientSecretGoogle OAuth Client Secret
Authentication--Microsoft--ClientIdMicrosoft Entra App ID
Authentication--Microsoft--ClientSecret--ProdMicrosoft client secret (production)
Authentication--Microsoft--TenantIdAzure AD Tenant ID
Security--DB--PKSecretShared encryption key for user ID encryption/decryption (must match API)

Note: Key Vault uses -- as separator. ASP.NET Core maps these to : in configuration (e.g., Jwt--Key becomes Jwt:Key).

Managed identity

The App Service must have a system-assigned managed identity with Get and List permissions on Key Vault secrets. Since the MCP virtual application shares the same App Service as the API, the existing managed identity should already have access.

3. OAuth Provider Configuration
Google Cloud Console
  1. Go to Google Cloud Console > APIs & Services > Credentials
  2. Edit your OAuth 2.0 Client ID
  3. Add authorized redirect URIs:
  • https://www.medrecpro.com/mcp/oauth/callback/google (production)
  • http://localhost:5233/mcp/oauth/callback/google

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx