mini-mcp-lab
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., "@mini-mcp-labRun the modern continuation test"
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.
mini-mcp-lab
This is a hands-on procurement scenario test. You do not need prior knowledge of MCP, AI agents, or JSON-RPC. If you can run commands in a terminal and compare text results, you can complete the acceptance test.
What you are testing
You are acting as the requester. Requisition PR-1042 is already saved:
20 annual cloud document-collaboration licenses;
total value TWD 72,000;
lines and attachments are stored;
submission discovers one missing security approval ID.
The separate security workflow takes three days and produces
SEC-2026-0715. While waiting, the procurement service restarts because of a
deployment or disconnection.
The test answers one question:
After the service restarts, can the work that was waiting for human input continue from where it stopped?
Test | Plain-language analogy | Expected result after restart |
Legacy | A phone call stays open while you look for the answer | The call drops. The draft remains, but submission and the answer must be repeated |
Modern | You receive a claim ticket and return with it later | The first call is over. A new request carries the ticket and answer, then continues |
A surviving requisition does not prove that the pending interaction survived. The scenario tests these two facts separately.
Related MCP server: MCP Playground
Five-minute acceptance test
The examples below use Windows. Start PowerShell or Command Prompt in this project directory. Equivalent macOS/Linux commands are listed below.
1. Install
scripts\setup.batThe first run may take a few minutes. This final line means installation passed:
[setup] ready: ...\.venv\Scripts\python.exeIf it does not appear, stop and retain the error shown in the terminal.
2. Test the legacy flow
scripts\lab.bat --era legacy --sleep 0The scenario runs automatically. For the first pass, look only at lines
beginning with [agent]; you may ignore [wire] and [server].
The test passes when these events appear in order:
[agent] 模擬部署/斷線:真人回答前,舊 server process 被重啟
[agent] 預期結果:等待回答期間 server 已重啟;原 tools/call 無法續接
[agent] 請購草稿仍在,但原問答已遺失;重新呼叫 submit 並再次補件
[agent] 送出流程完成:status=submitted, receipt=SUB-PR-1042“Cannot resume” is the expected legacy result, not a program failure. The original interaction must break; the script then submits and answers again.
The test fails if the expected interruption is absent, the draft disappears,
the final status is not submitted, or an unhandled Python error is shown.
3. Test the modern flow
scripts\lab.bat --era modern --sleep 0Again, focus on [agent]. The test passes when these events appear in order:
[agent] Server 已回 input_required;第 1 次 tools/call 已正常結束
[agent] /restart:要求重新啟動 server
[agent] 新 request 接續成功:status=submitted, approval=SEC-2026-0715The first request ends normally after returning an opaque claim ticket. After the service restarts, a new request brings back that ticket and the approval ID and continues the work.
The test fails if the first request does not ask for missing input normally,
the service asks for the same information again after restart, the final
submitted result is absent, or an unhandled Python error is shown.
4. Record the result
Check | Legacy | Modern |
Service restarts while waiting | Must pass | Must pass |
| Must pass | Must pass |
Pending input work resumes directly | Expected not to | Must pass |
Requisition is eventually submitted | Passes after repeating work | Passes after resuming |
The complete scenario passes only when both commands match this table.
macOS/Linux commands
./scripts/setup.sh
./scripts/lab.sh --era legacy --sleep 0
./scripts/lab.sh --era modern --sleep 0Use the same acceptance criteria.
Reading the terminal
Prefix | Meaning | Read on the first run? |
| The user request or supplied approval ID | Optional story context |
| What the system is doing and the outcome | Yes |
| Raw message sent to the service | No; technical evidence |
| Raw response from the service | No; technical evidence |
| Procurement service log | Only when diagnosing failure |
Large {...} blocks are raw MCP messages. They prove that real protocol
messages were exchanged; business testers do not need to interpret every field.
Optional interactive test
After the scripted scenario passes:
scripts\agent-modern.batEnter these lines one at a time after the agent> prompt:
show
/sleep 3
scenario
/new
show
/new PR-1042
show
/quitCommand | Action | Expected result |
| Display the current requisition | Finds |
| Represent a three-day wait with three seconds | Setting is accepted |
| Wait, restart, and return with the answer | Modern flow resumes and submits |
| Start a new conversation without a handoff | Next |
| Start a new conversation with an explicit handoff | Next |
| Exit | Returns to the terminal |
The missing record context after /new does not mean the data was deleted.
The new conversation simply has not been told which requisition to use.
Interactive mode reuses data/procurement.sqlite3. If an earlier run already
submitted the sample, scenario may finish immediately without asking for
input. Use scripts\lab.bat, which creates fresh temporary data every time,
for the formal legacy-versus-modern comparison.
What this test does not prove
It does not prove that modern MCP automatically remembers a requisition. SQLite preserves the business data.
PR-1042is a business record ID, not an MCP session ID or continuation ticket.The agent is deterministic software, not a large language model, so the wire and outcome are reproducible.
The lab is stdio-only and single-machine; it does not cover HTTP, OAuth, multi-host deployment, subscriptions, or Tasks.
It does not claim a complete official conformance-suite pass. See Protocol and evidence.
Technical verification
Business acceptance does not require this section. To assert the raw wire:
scripts\verify-wire.batTo run unit tests, type and format checks, and both scenarios:
scripts\test.batThe project uses one official mcp==2.0.0 Python SDK v2 environment and one
server implementation. A deterministic raw stdio agent selects
2025-11-25 or 2026-07-28 through real opening messages; the comparison
does not use two hand-written servers pretending to be two protocol versions.
flowchart LR
U["Tester"] --> A["Text-based simulated agent"]
A -->|"Real stdio MCP messages"| S["One procurement MCP Server"]
S --> D[("SQLite<br/>draft and continuation verification data")]
S -->|"Legacy: keep original call waiting"| A
S -->|"Modern: return a claim ticket and end call"| AFurther reading:
Contributing
Run scripts\test.bat or scripts/test.sh before submitting changes. Protocol
changes require raw-wire regression coverage, not only in-memory SDK tests.
License
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
- Flicense-qualityDmaintenanceA small MCP server that manages a product inventory using SQLite, providing CRUD operations through exposed MCP tools.Last updated
- FlicenseDqualityDmaintenanceA demonstration MCP server that provides access to a SQLite employee database with tools for querying users and profiles, sending emails via Mailtrap, and proposing project teams based on employee skills.Last updated3
- Flicense-qualityDmaintenanceMCP server for querying work checkpoints and storing finalized timesheet reports in SQLite.Last updated
- Alicense-qualityCmaintenanceA local MCP-style server for managing task records and seeded documents through controlled tool functions, using SQLite and JSON seed data.Last updatedMIT
Related MCP Connectors
MCP server for managing Prisma Postgres.
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
MCP server for fcc-ecfs
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/133institute/mini-mcp-lab'
If you have feedback or need assistance with the MCP directory API, please join our Discord server