seontology-mcp-server

Instilla-AI/seontology-mcp-server

3.1

If you are the rightful owner of seontology-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP Server for SEOntology integration - Semantic SEO analysis and optimization

SEOntology MCP Server

๐Ÿš€ MCP Server per l'integrazione con SEOntology - Framework semantico per l'analisi e ottimizzazione SEO

๐ŸŒŸ Caratteristiche

  • โœ… Analisi semantica delle pagine web usando SEOntology
  • โœ… Estrazione automatica di keywords e entitร 
  • โœ… Generazione schema markup per SEO
  • โœ… Analisi link interni e suggerimenti
  • โœ… Scoring qualitร  contenuti multi-dimensionale
  • โœ… Content gap analysis vs competitor
  • โœ… API RESTful completa
  • โœ… Rate limiting e security headers
  • โœ… Health checks e monitoring
  • โœ… Deploy ready su Railway, Docker, ecc.

๐Ÿš€ Quick Start

Sviluppo Locale

# Clone repository
git clone https://github.com/Instilla-AI/seontology-mcp-server.git
cd seontology-mcp-server

# Install dependencies
npm install

# Setup environment
cp .env.example .env
# Edit .env con le tue configurazioni

# Start development server
npm run dev

Deploy su Railway

  1. Clicca sul bottone "Deploy on Railway" sopra
  2. Connetti il tuo repository GitHub
  3. Configura le variabili d'ambiente
  4. Deploy automatico!

URL Deploy: https://seontology-mcp-production.up.railway.app

๐Ÿ“š API Endpoints

Analisi Pagine

POST /api/analyze
{
  "url": "https://example.com",
  "options": {
    "includeImages": true,
    "extractEntities": true,
    "qualityScore": true
  }
}

Estrazione Keywords

POST /api/keywords
{
  "url": "https://example.com",
  "maxKeywords": 20,
  "minFrequency": 2
}

Generazione Schema

POST /api/schema
{
  "url": "https://example.com",
  "type": "Article"
}

Analisi Link

POST /api/links
{
  "url": "https://example.com",
  "checkBroken": true
}

Content Gap Analysis

POST /api/gap-analysis
{
  "primaryUrl": "https://mysite.com",
  "competitorUrls": [
    "https://competitor1.com",
    "https://competitor2.com"
  ],
  "topic": "SEO optimization"
}

๐Ÿ—๏ธ Struttura SEOntology

{
  "@context": {
    "seo": "https://seontology.org/",
    "schema": "https://schema.org/"
  },
  "@type": "seo:WebPage",
  "seo:hasURL": "https://example.com",
  "seo:title": "Page Title",
  "seo:hasQuery": [
    {
      "@type": "seo:Query",
      "seo:queryText": "main keyword",
      "seo:searchVolume": 1000
    }
  ],
  "seo:qualityScore": {
    "@type": "seo:QualityScore",
    "seo:overallScore": 85
  }
}

๐Ÿ”ง Configurazione

Variabili d'ambiente

VariabileDescrizioneDefault
PORTPorta server3000
NODE_ENVAmbienteproduction
HTTP_MODEModalitร  HTTP per Railwaytrue
OPENAI_API_KEYChiave OpenAI (opzionale)-
RATE_LIMIT_MAX_REQUESTSMax richieste per finestra100

๐Ÿณ Docker

# Build image
docker build -t seontology-mcp .

# Run container
docker run -p 3000:3000 -e PORT=3000 seontology-mcp

๐Ÿงช Testing

# Run tests
npm test

# Test coverage
npm run test:coverage

# Lint code
npm run lint

๐Ÿ“Š Monitoraggio

  • Health check: GET /health
  • Metrics: GET /metrics
  • Status: GET /api/status

๐Ÿ› ๏ธ Sviluppo

Architettura

  • MCP Protocol: Compatibile con Model Context Protocol
  • Express API: Server REST per accesso HTTP
  • TypeScript: Type-safe development
  • Modulare: Servizi separati per ogni funzionalitร 

Servizi principali

  • SEOAnalyzer: Analisi SEO completa
  • ContentExtractor: Estrazione contenuti web
  • SEOntologyFormatter: Formattazione dati SEOntology

๐Ÿค Contributi

  1. Fork del repository
  2. Crea feature branch (git checkout -b feature/amazing-feature)
  3. Commit modifiche (git commit -m 'Add amazing feature')
  4. Push branch (git push origin feature/amazing-feature)
  5. Apri Pull Request

๐Ÿ“„ Licenza

MIT License - vedi per dettagli.

๐Ÿ”— Link Utili


Creato con โค๏ธ da Instilla-AI