Skip to main content
Glama

Enrichment MCP Server

by synackpwn
urlscan.py2.27 kB
import requests from string import Template from urllib.parse import urljoin, urlparse import jinja2 from services.base import BaseService class Urlscan(BaseService): name: str = "urlscan" host: str = "https://urlscan.io/api/v1/" class UrlscanIP(Urlscan): endpoint: Template = Template("search/?q=ip:$ipaddress") def get(self, ipaddress: str) -> requests.PreparedRequest: return requests.Request( method=self.method, url=urljoin(self.host, self.endpoint.substitute(ipaddress=ipaddress)), headers=self.headers, ).prepare() def parse_response(self, response: requests.Response, template: jinja2.Template) -> str: if response and response.ok and response.json(): return template.render( name=self.name, **response.json().get("results")[0] ) else: return "" class UrlscanDomain(Urlscan): endpoint: Template = Template("search/?q=domain:$domain") def get(self, domain: str) -> requests.PreparedRequest: return requests.Request( method=self.method, url=urljoin(self.host, self.endpoint.substitute(domain=domain)), headers=self.headers, ).prepare() def parse_response(self, response: requests.Response, template: jinja2.Template) -> str: if response and response.ok and response.json(): return template.render( name=self.name, **response.json().get("results")[0] ) else: return "" class UrlscanUrl(Urlscan): endpoint: Template = Template("search/?q=domain:$url") def get(self, url: str) -> requests.PreparedRequest: return requests.Request( method=self.method, url=urljoin(self.host, self.endpoint.substitute(url=urlparse(url).netloc)), headers=self.headers, ).prepare() def parse_response(self, response: requests.Response, template: jinja2.Template) -> str: if response and response.ok and response.json(): return template.render( name=self.name, **response.json().get("results")[0] ) else: return ""

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/synackpwn/enrichment-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server