Back to Browse

Attesta MCP Server

Developer ToolsLow Risk9.9MCP RegistryRemote
Free

Server data from the Official MCP Registry

Provenance-grade Portugal residential property data and signed JWS verification for AI agents.

About

Provenance-grade Portugal residential property data and signed JWS verification for AI agents.

Remote endpoints: streamable-http: https://api-production-d9143.up.railway.app/mcp

Security Report

9.9
Low Risk9.9Low Risk

Valid MCP server (0 strong, 2 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

Endpoint verified · Open access · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

file_system

Applies to the server that hosts this plugin, not to your machine.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "io-github-doralboim-attesta": {
      "url": "https://api-production-d9143.up.railway.app/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Attesta

B2A platform: provenance-grade Portugal residential property data + signed JWS verification for AI agents.

Authoritative docs: attesta-architecture.md · attesta-agent-prompt.md

Quick start

make install
cp .env.example .env
make db-up                 # Postgres + pgvector
make migrate               # apply Alembic migrations
make dev                   # API at :8000
EndpointURL
Health/healthz
REST API/docs
MCP/mcp
JWKS/.well-known/jwks.json
Agent discovery/llms.txt

Pipeline (local)

make ingest    # attesta-ingest --fixture (bundled JSON corpus)
make resolve   # attesta-resolve
make test

Ingestion

Default: bundled fixtures in tests/fixtures/ — no external scraper credentials needed.

make ingest                              # same as attesta-ingest --fixture
attesta-ingest --fixture                 # explicit
attesta-ingest --source idealista_pt     # optional: Apify actor (needs APIFY_* in .env)
attesta-ingest --source imovirtual       # optional: Apify actor

Live portal collectors implement app/ingestion/base.py (BaseCollector). Apify-backed Idealista/Imovirtual collectors ship as optional plugins; add a new source by subclassing, not refactoring the pipeline. See docs/decisions/008-fixture-first-ingestion.md.

To grow production corpus: pick a collector strategy (build Apify actors, direct HTTP, licensed feed, CSV import), wire env, and schedule the ingest worker on Railway.

CI

GitHub Actions runs ruff, mypy (advisory), pytest on SQLite + Postgres.

Decisions

Architecture Decision Records: docs/decisions/
Cursor rules: .cursor/rules/

Milestone status

  • M0 — Skeleton, CI, docker-compose, alembic scaffold
  • M1 — Schema, ingestion worker, fixtures, PII tests
  • M2 — Resolution matcher, read API
  • M3 — MCP tools, metering choke point, guardrails
  • M4 — Verification pipeline, JWS/JWKS, evidence API, eval harness (62 claims), attestation spec
  • M5 — Railway 3-service config, demo + verify scripts, OpenAPI export

Verification

make eval                    # 62 labeled claims, 75% threshold
python scripts/verify_jws.py <jws> --local
python scripts/demo.py       # E2E against local API
make openapi                 # writes public/openapi.json

LLM (optional, provider-agnostic via LiteLLM)

Set LLM_ENABLED=true and configure models + prompt file paths in .env (see .env.example).
Uses LiteLLM — point LLM_PARSE_MODEL / LLM_ADJUDICATE_MODEL at any supported provider (anthropic/, openai/, gemini/, azure/, groq/, etc.).
Provider API keys follow LiteLLM env conventions — set only the key(s) for your chosen provider(s).
See distribution/llm-providers.md for examples and cost estimates.

Attestation spec: public/attestation-spec.md
Market data contract (stats/comps envelopes): public/market-data-contract.md

Reviews

No reviews yet

Be the first to review this server!