Pionra

Guides, housing, jobs, events and communities for foreigners living in France, in 6 languages.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
87%
Calidad de los nombres
98%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainen publish_guide

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,048Tokens (definiciones de herramientas)
~2.4 KBTamaño de respuesta típico
Impacto moderado en la atención (1.60% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "pionra": {
      "url": "https://pionra.world/mcp"
    }
  }
}

Puntos de conexión remotos

https://pionra.world/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (8)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_pionra(query, intent, lang, limit)

Search Pionra guides, housing, jobs, communities, events, and directory pages with citation-ready links.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural-language search query."
    },
    "intent": {
      "type": "string",
      "enum": [
        "all",
        "housing",
        "jobs",
        "community",
        "visa"
      ],
      "description": "Optional result focus."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "en",
        "zh",
        "ar",
        "pt",
        "es"
      ],
      "description": "Locale for returned URLs and text: fr, en, zh, ar, pt or es. Optional — detected from the query when omitted."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢list_communities(query, lang, limit)

List Pionra country communities that match a query.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Optional community, country, or diaspora query."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "en",
        "zh",
        "ar",
        "pt",
        "es"
      ],
      "description": "Locale for returned URLs and text: fr, en, zh, ar, pt or es. Optional — detected from the query when omitted."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "additionalProperties": false
}
🟢get_community(country_code, lang, limit)

Get a Pionra community hub plus recent posts for a given country code.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country_code": {
      "type": "string",
      "description": "Two-letter ISO country code, for example CN or MA."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "en",
        "zh",
        "ar",
        "pt",
        "es"
      ],
      "description": "Locale for returned URLs and text: fr, en, zh, ar, pt or es. Optional — detected from the query when omitted."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "country_code"
  ],
  "additionalProperties": false
}
🟢find_housing(city, max_price, min_rooms, lang, limit)

Find housing listings on Pionra by city, budget, and room count.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string"
    },
    "max_price": {
      "type": "number"
    },
    "min_rooms": {
      "type": "number"
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "en",
        "zh",
        "ar",
        "pt",
        "es"
      ],
      "description": "Locale for returned URLs and text: fr, en, zh, ar, pt or es. Optional — detected from the query when omitted."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "additionalProperties": false
}
🟢find_jobs(city, language, contract, lang, limit)

Find job listings on Pionra by city, language, and contract type.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string"
    },
    "language": {
      "type": "string",
      "description": "Language code expected in the listing, for example fr or en."
    },
    "contract": {
      "type": "string",
      "description": "Optional contract type such as CDI, CDD, stage, alternance, freelance, or interim."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "en",
        "zh",
        "ar",
        "pt",
        "es"
      ],
      "description": "Locale for returned URLs and text: fr, en, zh, ar, pt or es. Optional — detected from the query when omitted."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "additionalProperties": false
}
🟢recent_events(city, date, lang, limit)

List upcoming Pionra events, optionally filtered by city and date.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string"
    },
    "date": {
      "type": "string",
      "description": "Optional ISO date string."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "en",
        "zh",
        "ar",
        "pt",
        "es"
      ],
      "description": "Locale for returned URLs and text: fr, en, zh, ar, pt or es. Optional — detected from the query when omitted."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "additionalProperties": false
}
🟢get_guide(id, query, lang)

Fetch a full Pionra guide (Markdown body) by public id, or the best-matching guide for a search query. The text is returned in the requested locale when a translation exists.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Optional guide public id."
    },
    "query": {
      "type": "string",
      "description": "Optional text query when the id is unknown."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "en",
        "zh",
        "ar",
        "pt",
        "es"
      ],
      "description": "Locale for returned URLs and text: fr, en, zh, ar, pt or es. Optional — detected from the query when omitted."
    }
  },
  "additionalProperties": false
}
🟡publish_guide(type, category, title, bodyMarkdown, language, ...)

Publish a guide, question, blog post, classified listing, marketplace item, or service offer to Pionra (enters the moderation queue before going live). Supports GUIDE, QUESTION, BLOG, ANNONCE, MARCHE, and SERVICE. Requires an API key sent as an `Authorization: Bearer pionra_sk_...` header — generate one at https://pionra.world/settings/developer. Same auth + rate limits as POST /api/ai/publish.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "GUIDE",
        "QUESTION",
        "BLOG",
        "ANNONCE",
        "MARCHE",
        "SERVICE"
      ],
      "description": "Post type."
    },
    "category": {
      "type": "string",
      "description": "Active Pionra category slug (must be permitted by the API key)."
    },
    "title": {
      "type": "string",
      "description": "Post title, 5–200 characters."
    },
    "bodyMarkdown": {
      "type": "string",
      "description": "Post body in Markdown, 20–20000 characters."
    },
    "language": {
      "type": "string",
      "enum": [
        "fr",
        "en",
        "zh",
        "ar",
        "pt",
        "es"
      ],
      "description": "Content language."
    },
    "cityScope": {
      "type": "string",
      "description": "Optional city slug to scope the post."
    },
    "countryScope": {
      "type": "string",
      "description": "Optional ISO country code to scope the post."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional tags."
    },
    "city": {
      "type": "string",
      "description": "Optional free-form city label for ANNONCE, MARCHE, or SERVICE posts."
    },
    "housing_city": {
      "type": "string",
      "description": "Alias for city."
    },
    "locationCity": {
      "type": "string",
      "description": "Optional location label shown on the post; defaults to city."
    },
    "metroStation": {
      "type": "string",
      "description": "Optional nearby metro or transit station."
    },
    "housing_metro": {
      "type": "string",
      "description": "Alias for metroStation."
    },
    "price": {
      "type": "number",
      "description": "Optional price amount."
    },
    "housing_rent": {
      "type": "number",
      "description": "Alias for price."
    },
    "priceCurrency": {
      "type": "string",
      "description": "Optional ISO currency code. Defaults to EUR for ANNONCE, MARCHE, and SERVICE."
    },
    "negotiable": {
      "type": "boolean",
      "description": "Optional negotiable flag for classified-style posts."
    },
    "expiresAt": {
      "type": "string",
      "description": "Optional ISO date or date-time when the post should expire."
    },
    "housingType": {
      "type": "string",
      "description": "Optional housing type, for example studio, chambre, or colocation."
    },
    "housingSurface": {
      "type": "number",
      "description": "Optional housing surface area. Stored as an integer."
    },
    "housingRooms": {
      "type": "number",
      "description": "Optional room count. Stored as an integer."
    },
    "housingFurnished": {
      "type": "boolean",
      "description": "Optional furnished flag."
    },
    "housingAvailableFrom": {
      "type": "string",
      "description": "Optional ISO date or date-time when the housing becomes available."
    },
    "housing_available_at": {
      "type": "string",
      "description": "Alias for housingAvailableFrom."
    },
    "housingDeposit": {
      "type": "number",
      "description": "Optional housing deposit amount."
    },
    "jobContractType": {
      "type": "string",
      "description": "Optional job or service contract type."
    },
    "jobRemote": {
      "type": "string",
      "description": "Optional remote mode label, for example onsite, hybrid, or remote."
    },
    "jobSalaryMin": {
      "type": "number",
      "description": "Optional minimum salary. Stored as an integer."
    },
    "jobSalaryMax": {
      "type": "number",
      "description": "Optional maximum salary. Stored as an integer."
    },
    "coverEmoji": {
      "type": "string",
      "description": "Optional cover emoji, up to 16 characters."
    },
    "cover_emoji": {
      "type": "string",
      "description": "Alias for coverEmoji."
    },
    "coverImageUrl": {
      "type": "string",
      "format": "uri",
      "description": "Optional cover image. Must be a public https:// URL to an image (jpeg/png/webp/gif/avif, max 8MB). Pionra fetches it server-side and stores it as the post cover; takes precedence over coverEmoji."
    },
    "cover_image_url": {
      "type": "string",
      "format": "uri",
      "description": "Alias for coverImageUrl."
    }
  },
  "required": [
    "type",
    "category",
    "title",
    "bodyMarkdown",
    "language"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada8 herramientas
verificadoversión no registrada8 herramientas