Malicious URLs MCP Server
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., "@Malicious URLs MCP Serversearch for malicious URLs containing 'phishing' on page 2"
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.
Malicious Urls1 MCP Server
用于访问 Malicious Urls1 API 的 MCP 服务器。
🚀 使用 EMCP 平台快速体验
EMCP 是一个强大的 MCP 服务器管理平台,让您无需手动配置即可快速使用各种 MCP 服务器!
快速开始:
🌐 访问 EMCP 平台
📝 注册并登录账号
🎯 进入 MCP 广场,浏览所有可用的 MCP 服务器
🔍 搜索或找到本服务器(
bach-malicious_urls1)🎉 点击 "安装 MCP" 按钮
✅ 完成!即可在您的应用中使用
EMCP 平台优势:
✨ 零配置:无需手动编辑配置文件
🎨 可视化管理:图形界面轻松管理所有 MCP 服务器
🔐 安全可靠:统一管理 API 密钥和认证信息
🚀 一键安装:MCP 广场提供丰富的服务器选择
📊 使用统计:实时查看服务调用情况
立即访问 EMCP 平台 开始您的 MCP 之旅!
Related MCP server: Malicious Scanner MCP Server
简介
这是一个 MCP 服务器,用于访问 Malicious Urls1 API。
PyPI 包名:
bach-malicious_urls1版本: 1.0.0
传输协议: stdio
安装
从 PyPI 安装:
pip install bach-malicious_urls1从源码安装:
pip install -e .运行
方式 1: 使用 uvx(推荐,无需安装)
# 运行(uvx 会自动安装并运行)
uvx --from bach-malicious_urls1 bach_malicious_urls1
# 或指定版本
uvx --from bach-malicious_urls1@latest bach_malicious_urls1方式 2: 直接运行(开发模式)
python server.py方式 3: 安装后作为命令运行
# 安装
pip install bach-malicious_urls1
# 运行(命令名使用下划线)
bach_malicious_urls1配置
API 认证
此 API 需要认证。请设置环境变量:
export API_KEY="your_api_key_here"环境变量
变量名 | 说明 | 必需 |
| API 密钥 | 是 |
| 不适用 | 否 |
| 不适用 | 否 |
在 Cursor 中使用
编辑 Cursor MCP 配置文件 ~/.cursor/mcp.json:
{
"mcpServers": {
"bach-malicious_urls1": {
"command": "uvx",
"args": ["--from", "bach-malicious_urls1", "bach_malicious_urls1"],
"env": {
"API_KEY": "your_api_key_here"
}
}
}
}在 Claude Desktop 中使用
编辑 Claude Desktop 配置文件 claude_desktop_config.json:
{
"mcpServers": {
"bach-malicious_urls1": {
"command": "uvx",
"args": ["--from", "bach-malicious_urls1", "bach_malicious_urls1"],
"env": {
"API_KEY": "your_api_key_here"
}
}
}
}可用工具
此服务器提供以下工具:
list_urls
Get list of all urls with page number
端点: GET /list/{page}
参数:
page(string) 必需: Example value:
search
Search by url
端点: POST /search
参数:
url(string) 必需: Example value: google.com
get_random
responds with one random url
端点: GET /rand
技术栈
传输协议: stdio
HTTP 客户端: httpx
许可证
MIT License - 详见 LICENSE 文件。
开发
此服务器由 API-to-MCP 工具生成。
版本: 1.0.0
Available Tools
3 toolsget_randomB
responds with one random url
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'responds with one random url', which implies a read-only operation, but doesn't specify source constraints (e.g., from a predefined set, database, or API), randomness characteristics (e.g., uniform distribution, seed), or response format details. This leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without any fluff or redundant information. It's front-loaded with the core action and resource, making it highly concise and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal but insufficient. It doesn't explain what 'random' entails (e.g., selection method, source), the format of the returned URL, or any error conditions. For a tool with no structured data to rely on, more context is needed to ensure proper usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, and since there are none, it doesn't need to compensate for any gaps. A baseline of 4 is justified as the description focuses on the tool's purpose without unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('responds with') and resource ('one random url'), making the purpose immediately understandable. It doesn't differentiate from siblings like 'list_urls' or 'search', but it's specific enough to understand what the tool does without being tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_urls' or 'search'. It doesn't mention scenarios where random selection is preferred over listing or searching, nor does it indicate any prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_urlsC
Get list of all urls with page number
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | Example value: |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions pagination, implying a list operation that might return partial results, but doesn't disclose whether this is read-only, has rate limits, requires authentication, what happens on invalid page numbers, or the format/scope of returned URLs. For a tool with zero annotation coverage, this leaves critical behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point without unnecessary words. It's appropriately sized for a simple tool, though it could be more front-loaded with key details like the resource type. There's no wasted verbiage, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It doesn't explain what 'urls' refers to, the pagination mechanism, or what the output looks like (e.g., list format, error handling). Without annotations or output schema, the description should compensate more to help an agent use the tool correctly, but it leaves too many gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'page' documented in the schema as a string with an empty example. The description adds that this is for pagination ('with page number'), which provides some context beyond the schema, but doesn't explain the pagination system (e.g., starting page, format, what 'page' represents). Since schema coverage is high, the baseline is 3, and the description adds marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Get list') and resource ('all urls'), but is vague about scope and lacks sibling differentiation. It doesn't specify what kind of URLs these are (e.g., from a database, web pages, API endpoints) or how 'all urls' relates to pagination. Compared to siblings 'get_random' and 'search', it doesn't clarify when this tool is preferred over those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the sibling tools 'get_random' or 'search'. The description mentions pagination ('with page number'), but doesn't explain whether this is for browsing all URLs systematically versus using search for filtering or get_random for sampling. There's no context about prerequisites, limitations, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchC
Search by url
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Example value: google.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails completely. 'Search by url' doesn't indicate whether this is a read-only operation, what kind of data it returns, whether it has rate limits, authentication requirements, or any side effects. For a search tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words with zero wasted language. It's front-loaded with the core action and immediately specifies the key parameter. While under-specified, it achieves maximum efficiency within its limited scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's apparent simplicity (1 parameter, no annotations, no output schema), the description is still incomplete. It doesn't explain what the search returns, what it searches through, or how results are presented. For even a basic search tool, more context about the operation's scope and output is needed for proper agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% with the single parameter 'url' documented as 'Example value: google.com'. The description 'Search by url' adds minimal semantic context beyond the schema, confirming the parameter's role but not elaborating on format expectations or search behavior. With high schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search by url' is a tautology that essentially restates the tool name 'search' with minimal elaboration. It specifies the verb 'search' and mentions 'url' as the resource, but doesn't explain what kind of search this performs or what it searches through. Compared to sibling tools like 'get_random' and 'list_urls', it doesn't clearly differentiate its specific purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of context, prerequisites, or comparisons to sibling tools like 'get_random' or 'list_urls'. The agent receives no help in determining whether this is the appropriate tool for a given search scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.0- First observed
get_random - First observed
list_urls - First observed
search
TDQS
Each tool has a clearly distinct purpose: get_random retrieves a single random URL, list_urls fetches a paginated list of all URLs, and search allows querying by URL. There is no overlap in functionality, making it easy for an agent to select the right tool.
The tool names follow a consistent verb-based pattern (get_random, list_urls, search), with all using snake_case. However, 'search' deviates slightly by not including a noun, which is a minor inconsistency in an otherwise predictable naming scheme.
With only 3 tools, the server feels thin for handling malicious URLs, as it lacks operations like adding, updating, or deleting URLs, or more advanced analysis features. While the tools cover basic retrieval, the scope seems limited for a domain that might benefit from more comprehensive management.
The tool surface is significantly incomplete for a malicious URL server, as it only provides read operations (random, list, search) with no ability to create, update, delete, or analyze URLs. This leaves obvious gaps in CRUD coverage and limits agents to passive querying without active management capabilities.
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 Connectors
URLhaus MCP — wraps abuse.ch URLhaus malware URL database (free, no auth)
Breach intelligence API: email search, domain monitoring, passwords and stealer logs.
Domain/IP intelligence, web page capture and search APIs
urlscan.io URL scanner — search/result keyless, submit needs key
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables querying threat intelligence data about files, URLs, IPs, and domains from multiple abuse.ch platforms (MalwareBazaar, URLhaus, and ThreatFox) through a unified API. Provides comprehensive security reports and threat analysis data for cybersecurity investigations.3MIT
- AlicenseBqualityDmaintenanceEnables real-time scanning of URLs for malicious content, spam/gray classification, and additional security flags like domain age through the Malicious Scanner API.1MIT
- AlicenseNot gradedqualityCmaintenanceWraps abuse.ch URLhaus malware URL database (free, no auth) – enables querying malware URLs via natural language through Pipeworx MCP gateway.5MIT
- AlicenseNot gradedqualityCmaintenanceEnables searching past scans and submitting URLs for scanning via urlscan.io, with both keyless and key-based operations.14MIT
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/BACH-AI-Tools/bachai-malicious-urls1'
If you have feedback or need assistance with the MCP directory API, please join our Discord server