Safe administrative package for ocserv — constrained MCP tool surface and localhost backend for VPN administration.
Server has well-structured tool definitions with complete schemas and descriptions for all 16 tools. All tools include proper JSON Schema with type definitions and parameter descriptions. Tool annotations (readOnlyHint, destructiveHint) are correctly implemented. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. similar ones. Parameter descriptions are minimal (e.g., 'Username of the user to delete' lacks context on consequences). No output schema documentation visible. Error handling lacks recovery guidance. Pagination support is present but not consistently documented across all list tools.
Assign a user to a policy group
Confirm a pending destructive action with a token and decision
Create a new VPN policy group
Create a new VPN user
Delete a VPN policy group
Delete a VPN user account
Disable all users in a policy group
Descriptions lack LLM-optimized guidance on tool selection. Generic descriptions like 'Disable a VPN user account' do not explain WHEN to use disable_user vs. delete_user, or what the consequences are. LLMs cannot infer the semantic difference.
No output schema documentation visible in source. Tools return responses but LLMs cannot see what fields to expect, forcing them to guess at downstream field names and breaking tool chaining.
Parameter descriptions are minimal and lack constraint documentation. E.g., 'Username of the user to delete' does not explain valid username format, length limits, or case sensitivity. LLMs cannot validate inputs before calling.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2025-06-18+ | v2 |
Disable a VPN user account
Disconnect an active VPN session for a user
List all VPN policy groups
List all active VPN sessions
List all VPN users
Reload the ocserv VPN service
Rollback the last configuration change
Show IP addresses assigned to a user
Update the IPv4 address assigned to a user
Destructive operations (delete_user, delete_group, disable_group_users) lack explicit confirmation guidance in descriptions. The confirm_action tool exists but is not mentioned in affected tool descriptions, forcing LLMs to discover the pattern.
Pagination parameters (limit, offset) are documented inconsistently. list_users and list_sessions include them; list_groups does not. This inconsistency confuses LLMs about which tools support pagination.