- La Ei Mcp Server
La Ei Mcp Server
<link rel="preconnect" href="https://cdn.laei.ro" crossorigin>
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="dns-prefetch" href="//stats.g.doubleclick.net">
<link rel="dns-prefetch" href="//securepubads.g.doubleclick.net">
<link rel="dns-prefetch" href="//pagead2.googlesyndication.com">
<link rel="dns-prefetch" href="//maps.googleapis.com">
<link rel="preload" href="https://cdn.laei.ro/dist/front/styles.css" as="style">
<link rel="preload" href="https://cdn.laei.ro/assets/fonts/fontawesome6/6.5.2/webfonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="https://cdn.laei.ro/assets/fonts/fontawesome6/6.5.2/webfonts/fa-regular-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="https://cdn.laei.ro/assets/fonts/fontawesome6/6.5.2/webfonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="https://cdn.laei.ro/assets/fonts/bootstrapicons/1.13.1/fonts/bootstrap-icons.woff2" as="font" type="font/woff2" crossorigin>
<style>
@font-face {
font-family: 'Font Awesome 6 Free';
font-display: swap;
}
@font-face {
font-family: 'Font Awesome 6 Brands';
font-display: swap;
}
@font-face {
font-family: 'bootstrap-icons';
font-display: swap;
}
</style>
<meta charset="utf-8">
<meta name="csrf-token" content="1iwc7zVLzy0MeO8RUB6ez6Byfm3PQNhcnsdE2Eux">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://cdn.laei.ro/storage/app/ico/thumbnails/32x32-ico-65419b2b27d94.jpeg">
<title>Model Context Protocol pentru La Ei</title>
<meta name="description" property="description" content="Conectează aplicațiile AI la cea mai mare platformă de anunțuri clasificate din România">
<meta name="keywords" property="keywords" content="MCP, Model Context Protocol, AI, anunțuri clasificate, API, integrare">
<link rel="canonical" href="https://laei.ro/mcp"/>
<link rel="alternate" hreflang="ro" href="https://laei.ro/mcp" />
<link rel="alternate" hreflang="x-default" href="https://laei.ro/mcp" />
<base target="_top"/>
<meta property="fb:app_id" content="1879153372863440" />
<meta property="og:site_name" content="La Ei" />
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Model Context Protocol pentru La Ei">
<meta name="twitter:description" content="Conectează aplicațiile AI la cea mai mare platformă de anunțuri clasificate din România">
<meta name="twitter:domain" content="laei.ro">
<link rel="alternate" type="application/atom+xml" href="https://laei.ro/feed" title="My feed">
<meta name="yandex-verification" content="df1d581674559537" />
<style>/* Critical CSS - Above the fold styles for faster initial render */
,::after,::before{box-sizing:border-box} html{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent} body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%} :root{--bs-body-font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif;--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff} .container{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto} @media (min-width:576px){.container{max-width:540px}} @media (min-width:768px){.container{max-width:720px}} @media (min-width:992px){.container{max-width:960px}} @media (min-width:1200px){.container{max-width:1140px}} @media (min-width:1400px){.container{max-width:1320px}} .navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem} .navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap} .navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none} .nav-link{display:block;padding:.5rem 1rem;color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out} header{display:block;position:fixed;top:0;left:0;right:0;z-index:1030} main{display:block;margin-top:67px} img{vertical-align:middle;max-width:100%;height:auto} a{color:var(--bs-link-color);text-decoration:underline} .btn{display:inline-block;font-weight:400;line-height:1.5;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out} .card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)} .row{display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))} .col-lg-9,.col-lg-3,.col-md-12{flex:0 0 auto} @media (min-width:992px){.col-lg-9{width:75%}.col-lg-3{width:25%}} .d-flex{display:flex!important} .d-none{display:none!important} .bg-body-tertiary{background-color:var(--bs-tertiary-bg)!important} .text-decoration-none{text-decoration:none!important} .fw-bold{font-weight:700!important} .mb-0{margin-bottom:0!important} .mt-2{margin-top:.5rem!important} .p-3{padding:1rem!important} .rounded{border-radius:var(--bs-border-radius)!important} .border{border:var(--bs-border-width) solid var(--bs-border-color)!important} .shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important} / Skeleton loading placeholder / .skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite} @keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}} / Logo sizing - fixed height, auto width to preserve aspect ratio / .main-logo{width:auto;height:40px;max-width:485px} / CLS Prevention - Reserve space for icons / .fa,.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,[class^="bi-"],[class=" bi-"],.bi{display:inline-block;min-width:1em;min-height:1em;text-align:center;vertical-align:-.125em} /* CLS Prevention - Bootstrap Icons pseudo-element stability / [class^="bi-"]::before,[class=" bi-"]::before,.bi::before{display:inline-block;width:1em;height:1em;vertical-align:-.125em} /* CLS Prevention - Image aspect ratios / .carousel-item img,.swiper-slide img,.main-gallery img{aspect-ratio:816/460;width:100%;height:auto;object-fit:cover} .item-carousel-thumb img,.featured-list-slider img{aspect-ratio:320/240;width:100%;height:auto;object-fit:cover} .thumbs-gallery img,.bx-thumb-item img{aspect-ratio:120/90;width:100%;height:auto;object-fit:cover} img.img-fluid.rounded[width="800"]{aspect-ratio:1/1;object-fit:cover;max-width:100px} / CLS Prevention - Main container stability / .main-container{min-height:calc(100vh - 200px);contain:layout style;height:auto!important} / CLS Prevention - Prevent inline style overrides / .main-container[style="height"]{min-height:calc(100vh - 200px)!important} /* CLS Prevention - Breadcrumb reserve space / .breadcrumb{min-height:1.5rem} / CLS Prevention - Tab content reserve space / .tab-content{min-height:200px} / CLS Prevention - Card stability / .card{contain:layout} / CLS Prevention - Pace.js body class transition / body,body.pace-done,body.pace-running{transform:none!important} / CLS Prevention - Cookie consent banner reserve space / .cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:9999;contain:layout} / CLS Prevention - Gallery container stability / .gallery-container{contain:layout;min-height:300px} .swiper.main-gallery{min-height:460px} @media(max-width:991px){.swiper.main-gallery{min-height:300px}} @media(max-width:767px){.swiper.main-gallery{min-height:200px}} / Font display swap to prevent FOIT */ @font-face{font-family:'Font Awesome 6 Free';font-display:swap} @font-face{font-family:'Font Awesome 6 Brands';font-display:swap}
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="7103f52f46b25f18218e0851-|49"></script><link rel="stylesheet" href="https://cdn.laei.ro/dist/front/styles.css" media="print" onload="this.media='all'">
<noscript><link rel="stylesheet" href="https://cdn.laei.ro/dist/front/styles.css"></noscript>
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="7103f52f46b25f18218e0851-|49"></script><link href="https://cdn.laei.ro/common/css/style.css" rel="stylesheet" media="print" onload="this.media='all'">
<noscript><link href="https://cdn.laei.ro/common/css/style.css" rel="stylesheet"></noscript>
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="7103f52f46b25f18218e0851-|49"></script><link href="https://cdn.laei.ro/dist/front/custom.css" rel="stylesheet" media="print" onload="this.media='all'">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","url":"https://laei.ro","name":"La Ei","description":"Anunțuri gratuite din România"}</script>
<script type="7103f52f46b25f18218e0851-text/javascript">
/**
* Execute callback function after page is loaded
*
* @param callback
* @param isFullyLoaded
*/
if (!window.onDocumentReady) {
function onDocumentReady(callback, isFullyLoaded = true) {
switch (document.readyState) {
case "loading":
/* The document is still loading, attach the event listener */
document.addEventListener("DOMContentLoaded", callback);
break;
case "interactive": {
if (!isFullyLoaded) {
/*
* The document has finished loading, and we can access DOM elements.
* Sub-resources such as scripts, images, stylesheets and frames are still loading.
* Call the callback (on next available tick (in 500 milliseconds))
*/
setTimeout(callback, 500);
}
break;
}
case "complete":
/* The page is fully loaded, call the callback directly */
callback();
break;
default:
document.addEventListener("DOMContentLoaded", callback);
}
}
}
<script type="7103f52f46b25f18218e0851-text/javascript">
paceOptions = {
elements: true
};
</script>
<script src="https://cdn.laei.ro/assets/plugins/pace-js/1.2.4/pace.min.js" defer type="7103f52f46b25f18218e0851-text/javascript"></script>
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="7103f52f46b25f18218e0851-|49"></script><link href="https://cdn.laei.ro/assets/plugins/pace-js/1.2.4/pace-theme-default.min.css" rel="stylesheet" media="print" onload="this.media='all'">
<link rel="dns-prefetch" href="//fonts.googleapis.com"><link rel="dns-prefetch" href="//fonts.gstatic.com"><link rel="dns-prefetch" href="//storage.googleapis.com"><link rel="dns-prefetch" href="//graph.facebook.com"><link rel="dns-prefetch" href="//google.com"><link rel="dns-prefetch" href="//apis.google.com"><link rel="dns-prefetch" href="//ajax.googleapis.com"><link rel="dns-prefetch" href="//www.google-analytics.com"><link rel="dns-prefetch" href="//www.googletagmanager.com"><link rel="dns-prefetch" href="//pagead2.googlesyndication.com"><link rel="dns-prefetch" href="//gstatic.com"><link rel="dns-prefetch" href="//cdn.api.twitter.com"><link rel="dns-prefetch" href="//oss.maxcdn.com"><link rel="dns-prefetch" href="//cloudflare.com"></head>
<nav class="navbar fixed-top navbar-sticky bg-body-tertiary border-bottom navbar-expand-xl" role="navigation" id="mainNavbar">
<div class="container">
<a href="https://laei.ro" class="navbar-brand logo logo-title">
<img src="https://cdn.laei.ro/images/logo.webp"
alt="la ei"
class="main-logo"
data-bs-placement="bottom"
data-bs-toggle="tooltip"
title=""
width="226"
height="40"
style="height: 40px; width: auto; max-width: 485px;"
/>
</a>
<button class="navbar-toggler float-end"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarNav"
aria-controls="navbarNav"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav me-md-auto">
</ul>
<ul class="navbar-nav ms-auto">
<li class="nav-item pricing">
<a class="btn btn-info"
href="https://laei.ro/firme"
>
<i class="fa-solid fa-building"></i> Firme
</a>
</li>
<li class="nav-item">
<a class="btn btn-highlight"
href="#quickLogin" data-bs-toggle="modal"
>
<i class="fa-regular fa-pen-to-square"></i> Adaugă anunț
</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link link-body-emphasis text-decoration-none link-opacity-75-hover dropdown-toggle" data-bs-toggle="dropdown">
<i class="fa-solid fa-user"></i>
<span>Autentificați-vă</span>
</a>
<ul id="authNavDropdown" class="dropdown-menu user-menu shadow-sm">
<li>
<a href="#quickLogin" data-bs-toggle="modal" class="dropdown-item">
<i class="fa-solid fa-user"></i> Autentificați-vă
</a>
</li>
<li>
<a href="https://laei.ro/auth/register" class="dropdown-item">
<i class="fa-regular fa-user"></i> Înscrieți-vă
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="p-0 mt-lg-4 mt-md-3 mt-3"></div>
<div class="container">
<div class="row">
<div class="col-12">
<div class="alert alert-warning alert-dismissible mb-3">
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Închide"></button>
<a href="https://laei.ro/auth/login" class="link-primary text-decoration-none link-opacity-75-hover fw-bold">Autentifică-te</a> pentru acces rapid la cele mai bune afaceri. <a href="https://laei.ro/auth/register" class="link-primary text-decoration-none link-opacity-75-hover fw-bold">Click aici</a> dacă nu ai deja un cont deschis.
</div>
</div>
</div>
</div>
<style>
.mcp-hero { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 100px 0; }
.mcp-feature-card { border: none; border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); transition: transform 0.3s ease; height: 100%; }
.mcp-feature-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.15); }
.mcp-feature-icon { width: 60px; height: 60px; border-radius: 15px; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 20px; }
.mcp-step { text-align: center; padding: 30px 20px; }
.mcp-step-number { width: 60px; height: 60px; border-radius: 50%; background: #667eea; color: white; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: bold; margin: 0 auto 20px; }
.mcp-code-block { background: #2d3748; color: #e2e8f0; border-radius: 10px; padding: 20px; overflow-x: auto; font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; position: relative; }
.mcp-code-header { background: #4a5568; color: #e2e8f0; padding: 10px 20px; border-radius: 10px 10px 0 0; font-weight: bold; font-size: 14px; }
.mcp-api-endpoint { background: #f7fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; margin: 10px 0; }
.mcp-nav { position: sticky; top: 0; background: white; z-index: 100; border-bottom: 1px solid #e2e8f0; padding: 15px 0; }
.bg-gradient-primary { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.bg-gradient-success { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); }
.bg-gradient-info { background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); }
.bg-gradient-warning { background: linear-gradient(135deg, #fa709a 0%, #fee140 100%); }
.bg-gradient-danger { background: linear-gradient(135deg, #ff6b6b 0%, #ffa500 100%); }
.bg-gradient-secondary { background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); }
Conectează AI la La Ei
Protocolul Model Context permite aplicațiilor AI să interactioneze direct cu anunțurile clasificate
Transformă conversațiile AI în acțiuni reale: caută anunțuri, obține detalii, analizează tendințe și multe altele.
import asyncio from anthropic_mcp import MCPClientclient = MCPClient(
server_url="https://laei.ro/mcp",
headers={"X-MCP-API-Key": "your-key"}
)
Căutare anunțuri
result = await client.call_tool("cauta_anunturi", {
"query": "apartament",
"price_max": 100000
})
print(f"Găsite {len(result['anunturi'])} anunțuri")
Funcționalități Cheie
Tot ce ai nevoie pentru a integra AI cu anunțurile clasificate
Conectare Instantanee
Conectează aplicația AI în câteva minute folosind protocolul MCP standardizat
Securitate Avansată
Autentificare API key, rate limiting și criptare SSL pentru toate comunicațiile
Timp Real
Server-Sent Events pentru actualizări în timp real și sesiuni persistente
Tools Avansate
Acces complet la căutare, detalii anunțuri, categorii, locații și statistici
Suport Română
Interface completă în română cu documentație și exemple localizate
Scalabil
Arhitectură optimizată pentru aplicații de producție cu mii de utilizatori
Cum Funcționează
Integrare simplă în 3 pași
1. Conectează
Configurează clientul MCP cu endpoint-ul nostru și cheia API
2. Configurează
Definește tools-urile și parametrii pentru aplicația ta AI
3. Automatizează
Lasă AI-ul să interacționeze direct cu anunțurile clasificate
Tools Disponibile
Funcționalități puternice pentru aplicațiile AI
Căutare Anunțuri
Caută anunțuri cu filtre avansate: categorie, locație, preț, cuvinte cheie
cauta_anunturiParametri: query, category_id, city_id, price_min, price_max
Detalii Anunț
Obține informații complete despre orice anunț: descriere, preț, contact, imagini
detalii_anuntParametri: id (obligatoriu)
Categorii
Accesează structura completă a categoriilor cu subcategorii și numărul de anunțuri
obtine_categoriiParametri: parent_id, level
Locații
Obține date despre țări, județe și orașe pentru filtrare geografică
obtine_locatiiParametri: type, country_code, state_code
Începe Rapid
Configurare rapidă în 3 pași simpli
Începe acum!
Conectează-te sau creează un cont pentru a obține cheia ta API personalizată.
<div class="row">
<div class="col-lg-4 mb-4">
<h5>1. Obține Cheia API</h5>
<div class="mcp-code-block">
<pre><code># Creează cont la:
Apoi obține cheia API
</div>
</div>
<div class="col-lg-4 mb-4">
<h5>2. Configurează Claude Desktop</h5>
<div class="mcp-code-block">
<pre><code>{
"mcpServers": { "laei": { "command": "python3", "args": ["mcp-stdio-simple.py"], "env": { "MCP_API_KEY": "cheia-ta-api" } } } }
3. Folosește în Claude Desktop
# Întreabă Claude Desktop: "Caută apartamente în București sub 80.000 euro"Sau:
"Arată-mi categoriile de anunțuri disponibile"
Documentația API
Ghid complet pentru dezvoltatori
URL de bază
https://laei.ro/mcp
<h5 class="card-title mt-4">Header autentificare</h5>
<div class="mcp-api-endpoint">
<code>X-MCP-API-Key: your-api-key</code>
</div>
<h5 class="card-title mt-4">Server Info</h5>
<div class="mcp-api-endpoint">
<strong>Name:</strong> La Ei MCP Server<br>
<strong>Version:</strong> 1.0.0<br>
<strong>Protocol:</strong> 2024-11-05
</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card h-100">
<div class="card-body">
<h5 class="card-title">Format cerere</h5>
<div class="mcp-code-block">
<pre><code>{
"method": "tools/call", "params": { "name": "cauta_anunturi", "arguments": { "query": "apartament", "limit": 10 } }, "id": "request-1" }
Exemple de Integrare
Exemple practice de integrare
<!-- Nav tabs -->
<ul class="nav nav-tabs justify-content-center mb-4" id="exampleTabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="python-tab" data-bs-toggle="tab" data-bs-target="#python" type="button" role="tab">
<i class="fab fa-python me-2"></i>Python MCP Client
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="javascript-tab" data-bs-toggle="tab" data-bs-target="#javascript" type="button" role="tab">
<i class="fab fa-js-square me-2"></i>JavaScript Integration
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="curl-tab" data-bs-toggle="tab" data-bs-target="#curl" type="button" role="tab">
<i class="fas fa-terminal me-2"></i>cURL Testing
</button>
</li>
</ul>
<!-- Tab content -->
<div class="tab-content" id="exampleTabsContent">
<div class="tab-pane fade show active" id="python" role="tabpanel">
<div class="mcp-code-header">Python MCP Client Example</div>
<div class="mcp-code-block">
<pre><code># Exemplu Python pentru dezvoltatori care vor să integreze direct
import requests
Configurare
api_key = "your-mcp-api-key" base_url = "https://laei.ro/mcp"
headers = { "Content-Type": "application/json", "X-MCP-API-Key": api_key }
Test ping
ping_request = { "jsonrpc": "2.0", "id": 1, "method": "ping" }
response = requests.post(base_url, json=ping_request, headers=headers) print("Ping result:", response.json())
Căutare anunțuri
search_request = { "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "cauta-anunturi", "arguments": { "query": "apartament", "limit": 5 } } }
response = requests.post(base_url, json=search_request, headers=headers) result = response.json() print(f"Găsite {len(result['result']['content'][0]['text'])} rezultate")
// Client MCP pentru JavaScript/Node.js const MCPClient = require('@anthropic/mcp-client');const client = new MCPClient({
serverUrl: 'https://laei.ro/mcp',
headers: {
'X-MCP-API-Key': 'your-api-key'
}
});
async function searchListings() {
// Inițializare
await client.initialize();
// Căutare anunțuriconst result = await client.callTool('cauta_anunturi', {query: 'mașină',category_id: 5,price_min: 5000});console.log(`Găsite ${result.anunturi.length} anunțuri`);// Detalii primul anunțif (result.anunturi.length > 0) {const details = await client.callTool('detalii_anunt', {id: result.anunturi[0].id});console.log('Detalii anunț:', details);}}
searchListings().catch(console.error);
# Test ping curl -X POST https://laei.ro/mcp
-H "Content-Type: application/json"
-H "X-MCP-API-Key: your-api-key"
-d '{ "method": "ping", "id": "test-1" }'Lista tools
curl -X POST https://laei.ro/mcp
-H "Content-Type: application/json"
-H "X-MCP-API-Key: your-api-key"
-d '{
"method": "tools/list",
"id": "list-1"
}'
Căutare anunțuri
curl -X POST https://laei.ro/mcp
-H "Content-Type: application/json"
-H "X-MCP-API-Key: your-api-key"
-d '{ "method": "tools/call", "params": { "name": "cauta_anunturi", "arguments": { "query": "apartament", "limit": 5 } }, "id": "search-1" }'
Începe să Construiești
Integrează AI cu anunțurile clasificate astăzi
Obține Cheia APIAi nevoie de ajutor? Contactează echipa de suport
// Update active nav link on scroll
const sections = document.querySelectorAll('section[id]');
const navLinks = document.querySelectorAll('.mcp-nav .nav-link');
window.addEventListener('scroll', () => {
let current = '';
sections.forEach(section => {
const sectionTop = section.offsetTop;
const sectionHeight = section.clientHeight;
if (pageYOffset >= sectionTop - 200) {
current = section.getAttribute('id');
}
});
navLinks.forEach(link => {
link.classList.remove('active');
if (link.getAttribute('href') === '#' + current) {
link.classList.add('active');
}
});
});
// API Test functionality (if needed)
window.testMcpApi = function() {
// This could be expanded to include a live API tester
console.log('MCP API Test - implement as needed');
};
});
<div class="row d-flex justify-content-center m-0 p-0">
<div class="col-12 text-center m-0 p-0">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1879219025914145" crossorigin="anonymous" type="7103f52f46b25f18218e0851-text/javascript"></script>
</div>
</div>
<div class="modal fade" id="selectLanguage" tabindex="-1" aria-labelledby="selectLanguageLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header px-3">
<span class="modal-title fs-5 fw-bold" id="selectLanguageLabel">
<i class="bi bi-translate"></i> Limbă
</span>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Închide"></button>
</div>
<div class="modal-body">
<div id="modalBodyLanguageList" class="row row-cols-lg-3 row-cols-md-3 row-cols-sm-2 row-cols-2 px-lg-1 px-md-1 px-3">
</div>
</div>
</div>
</div>
<div class="modal fade" id="selectCountry" tabindex="-1" aria-labelledby="selectCountryLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header px-3">
<span class="modal-title fs-5 fw-bold" id="selectCountryLabel">
<i class="bi bi-geo-alt"></i> Selectează o țară
</span>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Închide"></button>
</div>
<div class="modal-body" style="max-height: 495px; min-height: 140px;">
<div id="modalCountryList" class="row row-cols-xl-4 row-cols-lg-3 row-cols-2 px-lg-1 px-md-1 px-sm-3 px-3">
<div class="col d-flex align-items-center my-1 ">
<img src="https://cdn.laei.ro/images/flags/circle/16/ro.png"
class="me-2"
alt="România"
>
<a href="https://laei.ro/locale/ro?country=RO"
class="link-primary text-decoration-none"
data-bs-toggle="tooltip"
data-bs-custom-class="modal-tooltip"
title="România"
>
România
</a>
</div>
</div>
</div>
</div>
</div>
Server Config
{
"mcpServers": {
"la-ei-romania": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://laei.ro/mcp"
]
}
}
}