API Mock Server
v1.0.0Lightweight API mock server for prototyping and testing, supporting JSON/JSON Schema responses, dynamic data, validation, latency, and webhook simulation.
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The code (scripts/mock_server.py) implements a Flask-based mock server with JSON Schema validation, latency simulation, dynamic handlers, and config loading, which matches the skill name and description. Minor mismatch: README/SKILL.md mention webhook simulation and include 'requests' in requirements, but the server implementation contains no outbound webhook logic or use of requests. This looks like a documentation/feature-gap rather than intentional misdirection.
Instruction Scope
SKILL.md stays on-topic (how to define routes, run the server, load config, run tests). It mentions environment variables (MOCK_PORT, MOCK_HOST, MOCK_LATENCY) but the code does not read those environment variables directly — configuration is passed via constructor/CLI flags. Instructions also tell you to run pytest in the workspace; tests and examples operate only on local files (/tmp usage in an example). No instructions request reading unrelated system files or credentials.
Install Mechanism
There is no install spec supplied (instruction-only skill). Code files and a requirements.txt are included; installing would be a normal pip install of listed dependencies. Nothing in the manifest pulls arbitrary archives or runs remote installers.
Credentials
The skill does not declare required environment variables, credentials, or config paths. The optional env vars shown in SKILL.md are reasonable for configuring a local mock server but are not required by the code as written. No secrets or external credentials are requested.
Persistence & Privilege
always is false and the skill does not request persistent platform privileges or modify other skills or system-wide agent settings. It runs as a standalone Flask server when invoked.
Assessment
This skill appears to be what it says: a local Flask-based API mock server. Before installing/running: (1) note the documentation mentions webhook simulation and includes 'requests' in requirements but the current implementation does not perform outbound webhooks — if you expect webhook callbacks, inspect or extend the code. (2) The default host is 0.0.0.0 (binds all interfaces); avoid exposing the server to untrusted networks or the public internet. (3) Install dependencies in a virtualenv and review scripts/mock_server.py if you need additional behavior (outbound requests, auth, logging). If you need the webhook feature or outbound callbacks, request clarification or a newer version that implements them.Like a lobster shell, security has layers — review code before you run it.
apijsonlatestmockrestservertesting
api-mock-server - API Mock服务器
Metadata
| Field | Value |
|---|---|
| Name | api-mock-server |
| Slug | api-mock-server |
| Version | 1.0.0 |
| Homepage | https://github.com/openclaw/api-mock-server |
| Category | development |
| Tags | api, mock, server, testing, stub, http, rest, json |
Description
English
A lightweight API mock server for rapid prototyping and testing. Define routes with JSON/JSON Schema responses, support dynamic data generation, request validation, latency simulation, and webhook simulation.
中文
轻量级API Mock服务器,用于快速原型开发和测试。支持JSON/JSON Schema响应定义、动态数据生成、请求验证、延迟模拟和Webhook模拟。
Requirements
- Python 3.8+
- Flask >= 2.3.0
- Faker >= 19.0.0
- jsonschema >= 4.17.0
- requests >= 2.31.0
Configuration
Environment Variables
MOCK_PORT=3000
MOCK_HOST=0.0.0.0
MOCK_LATENCY=0
Usage
Define Routes
from api_mock_server import MockServer
server = MockServer(port=3000)
# Simple JSON response
server.get("/users", {"users": [{"id": 1, "name": "Alice"}]})
# Dynamic response with path params
server.get("/users/{id}", lambda req: {
"id": req.params["id"],
"name": f"User_{req.params['id']}"
})
# POST with validation
server.post("/users",
response={"id": 123, "created": True},
validate_schema={
"type": "object",
"required": ["name", "email"],
"properties": {
"name": {"type": "string"},
"email": {"type": "string", "format": "email"}
}
}
)
server.start()
Load from Config File
from api_mock_server import MockServer
server = MockServer.from_config("mock-routes.json")
server.start()
API Reference
MockServer
get(path, response)- Define GET routepost(path, response, validate_schema)- Define POST routeput(path, response)- Define PUT routedelete(path, response)- Define DELETE routepatch(path, response)- Define PATCH routefrom_config(path)- Load routes from JSON configstart()- Start the serverstop()- Stop the server
MockRequest
params- URL path parametersquery- Query string parametersbody- Request bodyheaders- Request headers
Examples
See examples/ directory for complete examples.
Testing
cd /root/.openclaw/workspace/skills/api-mock-server
python -m pytest tests/ -v
License
MIT License
Comments
Loading comments...
