url-intelligence-agent
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@url-intelligence-agentInvestigate https://example.com and give me a full intelligence report."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ง URL Intelligence Agent
๐ฅ Already running inside the HORNO ecosystem โ now open source
URL Intelligence Agent is one of the intelligence components used inside the HORNO ecosystem to understand public URLs, normalize entities, enrich profiles and listings, discover public relationships, evaluate web signals and prepare structured information for product workflows.
The complete agent architecture is available here as open source so developers can inspect it, self-host it, extend it and integrate the same evidence-first approach into their own applications and AI systems.
Related MCP server: seo-audit-mcp
โก Full Agent or lightweight standalone version?
The two repositories are complementary and can be used independently.
If you need the complete intelligence layer โ multi-page crawling, entity resolution, confidence and provenance, monitoring, reports, MCP, HTTP API, domain intelligence, technology detection, security/SEO analysis and optional AI reasoning โ use URL Intelligence Agent.
If your application only needs fast, deterministic URL enrichment without the complete agent stack, use the lighter standalone project:
๐ URL Metadata & Social Profile Fetcher
https://github.com/vpicciuolo/url-metadata-social-fetcher
It is the lightweight standalone option for applications that mainly need to take a public URL and extract reusable metadata such as titles, descriptions, Open Graph data, canonical URLs, images, social links and profile information with safety-focused fetching.
It is especially useful for:
link previews and URL unfurling
listing/profile autofill
directories and marketplaces
smart links and digital identity pages
creator/product/project cards
social-link discovery
metadata and Open Graph enrichment
applications that do not need a full autonomous intelligence agent
Choose | URL Intelligence Agent | URL Metadata & Social Profile Fetcher |
Primary goal | Full evidence-first URL/entity intelligence | Fast lightweight URL enrichment |
Multi-page intelligence | โ Deep crawl, sitemaps, important-page discovery | Focused lightweight extraction |
Entity resolution | โ Confidence + evidence + provenance | Basic profile/metadata enrichment |
SEO / security / trust / tech intelligence | โ | Lightweight metadata focus |
Monitoring / snapshots / diffs | โ | Not the primary purpose |
MCP server | โ | Not required |
HTTP API / CLI agent workflows | โ | Library-oriented integration |
Optional AI reasoning | โ | Deterministic-first lightweight use |
Best for | AI agents, research, automation, intelligence platforms | Previews, directories, autofill, smart links, simple integrations |
Simple rule: if you only need to understand and enrich a URL, start with the lightweight repository. If you need to investigate, verify, connect, score, monitor and expose that intelligence to applications or AI agents, use this repository.
Navigation
Quick Start ยท How it works ยท Capabilities ยท CLI ยท MCP ยท HTTP API ยท Docker ยท SDK ยท Reports ยท Monitoring ยท Configuration ยท Security ยท Support
What is URL Intelligence Agent?
A metadata parser can tell you a page title.
A crawler can collect pages.
A language model can summarize text.
URL Intelligence Agent connects those layers into a single evidence-first workflow.
Give it a public URL and it can answer:
What is this URL? What person, company, product, creator or project does it represent? Which public signals support that conclusion? What else is connected to it? What changed? What can an application or AI agent safely do with the result?
It combines deterministic collection, structured extraction, entity resolution, confidence scoring, provenance, crawling, infrastructure intelligence, monitoring and optional AI reasoning.
Core principle
Do not ask an LLM to guess what deterministic public evidence can establish.AI is an enhancement layer. It is not required for the main intelligence pipeline.
โก 5-minute quick start
1. Clone and install
git clone https://github.com/vpicciuolo/url-intelligence-agent.git
cd url-intelligence-agent
npm install
npm run build2. Investigate a public URL
node dist/src/cli.js investigate https://example.comOr during development:
npm run dev -- investigate https://example.com3. Open the interactive console
npm run devYou will get the full action menu with 39 interactive operations, including investigation, crawling, domain intelligence, social/contact discovery, SEO, security, monitoring, reports, MCP and API modes.
4. Install globally if you want url-agent everywhere
npm install -g github:vpicciuolo/url-intelligence-agentThen:
url-agent investigate https://example.com
url-agent seo https://example.com
url-agent technologies https://example.com
url-agent mcp๐ How the agent works
flowchart LR
A[Public URL] --> B[URL safety + DNS validation]
B --> C[robots.txt + sitemap discovery]
C --> D[Bounded crawl]
D --> E[Optional JS render fallback]
D --> F[Metadata + JSON-LD + links]
E --> F
F --> G[Entity / social / contact resolution]
F --> H[Tech / brand / domain intelligence]
G --> I[Evidence + confidence + provenance]
H --> I
I --> J[SEO / security / quality / trust]
J --> K[Structured intelligence result]
K --> L[CLI]
K --> M[HTTP API]
K --> N[MCP]
K --> O[Reports / RAG / knowledge export]
K --> P[Snapshots / monitoring / webhooks]
K --> Q[Optional AI reasoning]Every major resolved field can carry:
{
"value": "Example Inc.",
"confidence": 0.97,
"method": "jsonld-name+og-site-name+page-title",
"sources": [
"https://example.com/",
"https://example.com/about"
]
}That provenance model is one of the central differences between this project and a basic scraper or model-only web summary.
๐งฉ What it can do
The 1.0.0 runtime exposes 34 machine-callable core actions through the action registry. The interactive CLI combines them with reporting, watching, benchmarking, server and plugin operations for 39 menu choices. Plugins can extend the action surface further.
Intelligence area | What the agent does |
Safe URL collection | HTTP/HTTPS validation, DNS checks, private-network blocking, redirect re-validation, bounded time/bytes |
Crawl & map | robots.txt, sitemaps, sitemap indexes, same-origin crawl, important-page discovery |
Entity resolution | Person, creator, startup, organization, product, service, software, business, event and website inference |
Metadata | title, description, canonical, Open Graph, headings, JSON-LD, images, favicons |
Social discovery | normalized public social/profile links across supported networks |
Contact discovery | public emails, phones, contact pages and public people/team signals |
Domain intelligence | A/AAAA/MX/NS/TXT/CAA, SPF/DMARC hints, TLS certificate/protocol/cipher information |
Technology detection | framework, CMS, ecommerce, analytics, payments, CDN, hosting and tooling fingerprints |
Brand intelligence | name candidates, logo/favicon, social preview images, public handles, tagline/color hints |
SEO audit | metadata, canonical, OG, structured data, sitemap, noindex and duplicate-title signals |
Security posture | visible HTTP security headers, HTTPS/HSTS/CSP/frame/referrer/permissions signals |
Quality signals | language, headings, text volume, timing, status, forms and image counts |
Trust signals | explainable public transparency/trust indicators; not a fraud or legal determination |
Entity graph | evidence-linked nodes and relationships between entity, profiles, contacts, pages and technologies |
Competitor intelligence | public comparison/alternative context with evidence and confidence |
API discovery | OpenAPI, Swagger, GraphQL, |
Compliance signals | public privacy, cookie, terms, GDPR/CCPA, accessibility, security/trust references |
Commerce intelligence | visible currencies/prices, pricing pages, ecommerce/subscription/marketplace language |
Freshness | publication, modification and HTTP freshness hints |
Link intelligence | internal/external links, external domains, bounded link health checking |
Listing generation | directory/marketplace/ranking-board ready-to-review profile data |
RAG export | citation-friendly clean documents with checksums and provenance |
Knowledge export | structured facts prepared for downstream knowledge systems |
Compare | compare entity type, socials, contacts, technologies, canonical host, SEO/trust |
Batch workers | bounded concurrent investigations of multiple URLs |
Monitoring | snapshots, diffs, continuous watch and optional webhook delivery |
Rendering | optional Playwright or remote renderer fallback for JavaScript-heavy pages |
AI reasoning | optional OpenAI-compatible evidence-only synthesis |
Plugins | runtime enrichers and custom actions |
MCP | native stdio MCP server exposing the runtime action registry |
HTTP API | authenticated/rate-limited JSON action server |
Reports | Markdown, standalone HTML and JSON output with attribution |
1. Full URL investigation
2. Safe URL probe / redirects
3. Domain + DNS + mail + TLS intelligence
4. Deep crawl + sitemap mapping
5. Render JavaScript page / browser fallback
6. Resolve entity + evidence graph
7. Find social profiles
8. Find public contacts + people
9. Technology fingerprinting
10. Brand intelligence
11. SEO audit
12. Security-header posture audit
13. Quality/accessibility/performance audit
14. Trust/transparency signals
15. Entity relationship graph
16. Competitor/comparison intelligence
17. Structured-data inventory
18. API / OpenAPI / GraphQL discovery
19. Privacy/compliance public signals
20. Team / people extraction
21. Commerce / pricing intelligence
22. Content freshness signals
23. Link graph / external-domain intelligence
24. Broken-link / URL health check
25. Generate marketplace/directory listing
26. RAG-ready document export
27. Knowledge/fact export with provenance
28. Generate Markdown + HTML + JSON reports
29. Compare two URLs
30. Batch enrichment worker
31. Create monitoring snapshot
32. Diff current URL against stored snapshot
33. Continuous scheduled watch + webhook
34. Optional AI evidence reasoning
35. Run reliability benchmark
36. Plugins / extension SDK
37. HTTP API server
38. MCP server
39. About & credits
0. Exit๐ป CLI command reference
Command | Example |
Full investigation |
|
Safe probe |
|
Domain/DNS/TLS |
|
Deep crawl |
|
Render page |
|
Entity |
|
Social profiles |
|
Contacts/people |
|
Technologies |
|
Brand |
|
SEO |
|
Security |
|
Quality |
|
Trust |
|
Entity graph |
|
Competitors |
|
Structured data |
|
API discovery |
|
Compliance signals |
|
People/team |
|
Commerce |
|
Freshness |
|
Link intelligence |
|
Link health |
|
Generate listing |
|
RAG export |
|
Knowledge export |
|
Report |
|
Compare |
|
Batch |
|
Snapshot |
|
Diff |
|
Watch |
|
AI reason |
|
Benchmark |
|
List actions |
|
Plugins |
|
HTTP API |
|
MCP |
|
Credits |
|
Machine-oriented output:
url-agent investigate https://example.com --raw > result.jsonFull usage reference: docs/USAGE.md
๐ค Use it as an MCP server
URL Intelligence Agent includes a native stdio MCP server.
Start MCP
From source:
npm install
npm run build
npm run mcpOr after global installation:
url-agent mcpGeneric MCP client config
{
"mcpServers": {
"url-intelligence-agent": {
"command": "url-agent",
"args": ["mcp"],
"env": {
"URL_AGENT_MAX_PAGES": "30",
"URL_AGENT_MAX_DEPTH": "3",
"URL_AGENT_OBEY_ROBOTS": "true"
}
}
}
}If the MCP client cannot resolve your shell PATH, use an absolute Node/file path:
{
"mcpServers": {
"url-intelligence-agent": {
"command": "node",
"args": [
"/absolute/path/url-intelligence-agent/dist/src/cli.js",
"mcp"
]
}
}
}The server supports:
MCP initialization
ping
tool listing
tool calls
resource listing/read
horno://aboutproject/ecosystem resourcestructured tool results with attribution
The MCP tool registry is generated from the same core action registry used by the API.
Complete setup, tool list, JSON-RPC examples and troubleshooting:
๐ docs/MCP.md
๐ Run it as an HTTP API
Start locally:
url-agent serve --host 127.0.0.1 --port 8787Production authentication:
URL_AGENT_API_TOKEN=replace-with-a-long-random-token
URL_AGENT_API_RATE_LIMIT=60Health:
curl http://127.0.0.1:8787/healthInvestigate:
curl \
-H "Authorization: Bearer YOUR_TOKEN" \
-G http://127.0.0.1:8787/investigate \
--data-urlencode "url=https://example.com"Call any registered action:
curl \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
http://127.0.0.1:8787/action/audit_seo \
-d '{"url":"https://example.com"}'Endpoints:
GET /health
GET /actions
GET /investigate?url=...
POST /investigate
GET /action/:name
POST /action/:nameComplete API reference:
๐ docs/API.md
๐ Deploy it
Docker CLI
docker build -t url-intelligence-agent:1.0.0 .
docker run --rm \
url-intelligence-agent:1.0.0 \
investigate https://example.comDocker API
docker volume create url_agent_data
docker run -d \
--name url-intelligence-agent \
--restart unless-stopped \
--env-file .env \
-p 8787:8787 \
-v url_agent_data:/app/.url-agent \
url-intelligence-agent:1.0.0 \
serve --host 0.0.0.0 --port 8787Docker Compose
A docker-compose.yml is included.
cp .env.example .env
docker compose up -d --buildOptional Redis service:
docker compose --profile redis up -d --buildOptional PostgreSQL service:
docker compose --profile postgres up -d --buildThe deployment guide also includes a Linux systemd service example, Nginx reverse proxy, production authentication, data persistence, renderer setup and deployment verification checklist.
๐ docs/DEPLOYMENT.md
๐ฆ Use it as a TypeScript library
The package exports the core runtime through src/index.ts.
import { investigate, runAction } from "url-intelligence-agent";
const intelligence = await investigate("https://example.com");
console.log(intelligence.entity.name.value);
console.log(intelligence.entity.name.confidence);
console.log(intelligence.entity.name.sources);
const tech = await runAction("detect_technologies", {
url: "https://example.com"
});
console.log(tech);Install as a GitHub dependency:
npm install github:vpicciuolo/url-intelligence-agentor:
{
"dependencies": {
"url-intelligence-agent": "github:vpicciuolo/url-intelligence-agent"
}
}๐ Reports and exports
Generate all standard report formats:
url-agent report https://example.com --out company-intelligenceOutput:
company-intelligence.md
company-intelligence.html
company-intelligence.jsonReports include project attribution and structured evidence from the investigation.
Other export workflows:
url-agent rag https://example.com
url-agent knowledge https://example.com
url-agent listing https://example.comRAG output is designed around clean, citation-friendly documents and content checksums. Knowledge output is designed around provenance-aware structured facts.
๐๏ธ Monitoring and change detection
Create a snapshot:
url-agent snapshot https://example.comCompare later:
url-agent diff https://example.com --snapshot snapshot.jsonRun continuously:
url-agent watch https://example.com --interval 300000Configure webhooks:
URL_AGENT_WEBHOOK_URL=https://your-app.example/hooks/url-intelligence
URL_AGENT_WEBHOOK_SECRET=replace-with-a-secretMonitoring can surface meaningful changes between normalized intelligence snapshots instead of forcing downstream systems to compare raw HTML.
๐ฅ๏ธ JavaScript rendering
Static HTTP collection is the default.
For JavaScript-heavy pages, install Playwright:
npm install playwright
npx playwright install chromiumEnable fallback rendering:
URL_AGENT_RENDER_MODE=auto
URL_AGENT_RENDER_TIMEOUT_MS=30000Or use a compatible remote renderer:
URL_AGENT_RENDER_MODE=auto
URL_AGENT_RENDER_ENDPOINT=https://renderer.example.com/render
URL_AGENT_RENDER_API_KEY=your-keyDirect render action:
url-agent render https://example.comKeep rendering disabled when you do not need it; browser automation is significantly heavier than deterministic HTTP collection.
๐ง Optional AI reasoning
The main agent does not require an AI API key.
Configure an OpenAI-compatible endpoint only when reasoning is needed:
AI_BASE_URL=https://api.openai.com/v1
AI_API_KEY=
AI_MODEL=gpt-5-mini
AI_MAX_TOKENS=3000
AI_TEMPERATURE=0.1
AI_TIMEOUT_MS=30000
URL_AGENT_AI_AUTO=falseExplicit reasoning:
url-agent reason https://example.com \
--instruction "Summarize the entity and uncertainty using only supplied evidence and source URLs."The reasoning layer is instructed not to invent unsupported facts.
โ๏ธ Configuration
Start from:
cp .env.example .envVariable | Default/example | Purpose |
|
| Request timeout |
|
| Maximum response bytes |
|
| Redirect bound |
|
| Crawl page bound |
|
| Crawl depth bound |
|
| Crawl concurrency |
|
| Keep crawl same-origin |
|
| Respect robots policy by default |
| empty | Optional URL allow patterns |
| safety defaults | URL deny patterns |
|
| Cache adapter selection |
|
| Cache TTL |
|
| Local cache directory |
|
| Local persistence directory |
|
| Batch worker concurrency |
|
| Render/browser mode |
| empty | Remote renderer URL |
| empty | Remote renderer auth |
| empty | HTTP API bearer token |
|
| Requests/client/minute |
| empty | Optional API CORS origin |
| empty | Monitoring webhook |
| empty | Webhook signing/auth secret |
| empty | Optional Redis connection |
| empty | Optional Valkey connection |
| empty | Optional PostgreSQL connection |
| OpenAI-compatible | Optional model endpoint |
| empty | Optional model API key |
|
| Optional model name |
|
| Automatic AI reasoning toggle |
The default settings intentionally bound network and crawl behavior. Increase them only when your workload requires it.
๐ก๏ธ Security model
Every submitted URL is treated as untrusted input.
The network layer includes protections such as:
HTTP/HTTPS-only policy
embedded credential rejection
DNS resolution before collection
localhost blocking
private/reserved IPv4 blocking
loopback/ULA/link-local IPv6 blocking
redirect destination re-validation
bounded redirects
bounded response bytes
timeouts
explicit User-Agent
The crawler is designed for public web intelligence. It does not intentionally bypass authentication, CAPTCHAs or access controls.
Security/trust scores are public signal summaries โ not penetration tests, legal opinions, fraud determinations or guarantees of security.
See SECURITY.md.
๐๏ธ Architecture
The codebase is intentionally modular:
src/
โโโ agent.ts orchestration + action registry
โโโ net.ts URL safety / fetching / probing
โโโ crawler.ts robots / sitemap / bounded crawling
โโโ extract.ts deterministic page extraction
โโโ render.ts Playwright / remote render adapters
โโโ domain.ts DNS / mail / TLS intelligence
โโโ analyzers.ts SEO / security / quality / trust / tech / brand
โโโ extensions.ts API / commerce / people / links / knowledge
โโโ monitor.ts snapshots / diff / webhook
โโโ watch.ts continuous monitoring
โโโ adapters.ts cache / persistence / worker adapters
โโโ ai.ts optional OpenAI-compatible reasoning
โโโ plugins.ts plugin SDK/runtime
โโโ report.ts terminal / Markdown / HTML reports
โโโ server.ts HTTP API
โโโ mcp.ts MCP stdio server
โโโ benchmark.ts reliability benchmark runner
โโโ cli.ts interactive + command-line experienceMore detail: docs/ARCHITECTURE.md
๐ Documentation
Guide | Use it when... |
You want every main command, recipe and integration example | |
You want to connect the agent to an MCP-compatible AI client | |
You want Docker, Compose, systemd, Nginx or production API deployment | |
You want endpoint, auth, curl, JS and Python examples | |
You want the runtime action catalog | |
You want to understand internal modules and design | |
You want the public-URL/network safety model | |
You want to improve the project |
๐ฏ Where this is useful
URL Intelligence Agent is designed for applications such as:
AI assistants and agent toolchains
MCP-based research agents
startup/product directories
marketplaces
ranking and attention boards
creator/influencer platforms
profile/listing autofill
CRM/lead enrichment
public company/project research
competitive intelligence
website monitoring
SEO tooling
brand intelligence
digital identity tools
RAG ingestion
knowledge pipelines
public trust/transparency analysis
broken-link and web quality workflows
The listing-generation and URL enrichment workflows are especially useful when a user pastes a URL and your product needs to turn it into an editable, evidence-backed profile instead of asking the user to fill every field manually.
๐งช Tests and benchmark
Typecheck:
npm run typecheckTests:
npm testBenchmark:
npm run benchmarkThe repository includes a benchmark fixture under benchmarks/urls.json for repeatable reliability testing.
๐ค Contributing
Contributions are welcome, particularly around:
deterministic extraction
entity resolution
new evidence signals
technology fingerprints
MCP interoperability
crawler correctness
security hardening
plugin actions
report UX
benchmark coverage
Please read CONTRIBUTING.md before submitting substantial changes.
๐ Support open-source development
If URL Intelligence Agent saves you engineering time, becomes part of your product, or you simply want to support more open-source tools from this ecosystem, you can support the work here:
Support page: https://hrn.ae/githubsupport
GitHub README files cannot safely execute Stripe JavaScript widgets, so the button links directly to the dedicated Stripe-enabled support page.
Credits
Created by Vincenzo Picciuolo
Founder & Lead Engineer โ HRN Innovation Technologies Ltd
Built as part of the technology work behind the HORNO ecosystem and released openly for developers and builders.
HORNO Network: https://horno.net
Easy HORNO: https://easy.horno.net
HORNO Space: https://space.horno.net
URL Metadata & Social Profile Fetcher: https://github.com/vpicciuolo/url-metadata-social-fetcher
If you use the project, โญ star the repository, open an issue with feedback, or show us what you build with it.
License
MIT ยฉ 2026 HRN Innovation Technologies Ltd โ Vincenzo Picciuolo.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceURL intelligence for AI agents. One URL in, structured security and data quality signals out across 7 dimensions. 13 tools, risk score 0-100 with 23 configurable weights.161601MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to perform instant SEO audits, check robots.txt, sitemaps, and AI crawler access for any URL without API keys.MIT
- AlicenseAqualityBmaintenanceProvides tools for AI agents to audit websites, including stack detection, DNS snapshots, and security checks.819MIT
- AlicenseAqualityAmaintenanceProvides AI-visibility scoring and site auditing capabilities for websites, enabling agents to check how sites appear in AI engines like ChatGPT and Perplexity, run full SEO/security audits, and monitor changes over time.15446MIT
Related MCP Connectors
URL intelligence for AI agents and developers. 16 tools, 25 signal weights, 20 free checks.
Turns any URL into SEO metadata, contacts, tech stack, and AI-ready Markdown, in one call.
Scan any URL for AI agent readability โ Vercel Spec, llmstxt.org, and agent-protocol manifests.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vpicciuolo/url-intelligence-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server