Oakallow
Server Details
Runtime permission, approval, and audit layer for AI agent tool execution.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- oakallow/oakallow-mcp
- GitHub Stars
- 1
- Server Listing
- Oakallow MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 5 of 5 tools scored. Lowest: 2.9/5.
Each tool has a distinct purpose, but check_approval_status and list_pending_approvals both relate to approvals and could be confused if not read carefully. However, descriptions clarify the difference, so disambiguation is good but not perfect.
All tool names follow a consistent verb_noun pattern in snake_case (check_, list_, start_). The verbs are clear and the names are predictable.
Five tools is a reasonable number for the domain of permission/approval management. It's well within the 3-15 range and each tool serves a distinct function without being overwhelming.
The tool surface has significant gaps. There is no way to approve or reject an approval request beyond checking its status, nor any tool to create, update, or delete custom tools beyond listing them. The start_test tool seems unrelated to the core domain, leaving incomplete coverage for the apparent purpose.
Available Tools
5 toolscheck_approval_statusARead-onlyIdempotentInspect
Check the status of a pending approval request by REF number. Use this between retries of a tool call that is pending approval — do NOT call the original tool again to check status, that will create a duplicate approval.
| Name | Required | Description | Default |
|---|---|---|---|
| reference | Yes | REF number returned from a prior tool call that required approval. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds the warning about duplicate approvals if the original tool is called, which is valuable context. However, it does not detail the response format or possible statuses, but given annotations, this is sufficient.
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?
Two sentences with no redundancy. The first sentence states the core purpose, and the second provides critical usage guidance. Every word earns its place.
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 simple single-parameter tool with no output schema, the description covers the essential context: when to use it (after a pending approval) and how to avoid misuse. It could optionally mention expected statuses, but is largely complete for its simplicity.
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 coverage is 100% with a clear description for the 'reference' parameter. The description mentions 'REF number' but adds no new meaning beyond what the schema provides. Baseline 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 clearly states 'Check the status of a pending approval request by REF number,' specifying the verb 'check' and the resource 'approval request' with the identifier. It distinguishes itself from sibling tools like 'list_pending_approvals' which lists all approvals.
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?
Explicitly instructs to 'Use this between retries of a tool call that is pending approval' and warns against calling the original tool again to check status, preventing duplicate approvals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_permissionARead-onlyIdempotentInspect
Ask whether a given tool call would be allowed, require approval, or be blocked — without actually making the call. Returns the resolved permission verdict and the level it resolved from.
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | The oakallow organization external id (e.g. org_oak_…) this action targets. Required when your account has more than one org; optional if you have exactly one. Get it from the org-specific oakallow skill you downloaded for that org. | |
| method | No | Optional method name. | |
| tenant_id | No | Optional tenant external id. | |
| tool_name | Yes | The tool to evaluate. | |
| resource_id | No | Optional resource external id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that the tool returns a permission verdict and resolution level, and emphasizes it does not actually make the call, reinforcing the safe, idempotent nature. It does not contradict annotations and adds context beyond them.
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 consists of two concise sentences with no redundant information. The first sentence states the action and key feature (no call made), and the second describes the return value. Every word earns its place, making it highly efficient.
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 has 5 parameters (only 1 required), no output schema, and high annotation coverage, the description is fairly complete. It explains the return (permission verdict and level), but does not mention potential error cases or the relationship to the sibling 'check_approval_status'. Still, it provides enough context for a read-only permission check tool.
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%, so the input schema already documents all 5 parameters with descriptions. The tool description does not add extra parameter details beyond stating the tool evaluates a given tool call. Baseline is 3, and the description provides no additional param-level insight, so score remains 3.
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 tool's purpose: to check if a tool call would be allowed, require approval, or be blocked without executing it. It specifies the verb 'ask whether' and the resource 'tool call', and it differentiates from actual execution by noting no call is made. This distinguishes it from sibling tools like 'check_approval_status' which likely deal with existing approvals.
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 clear context for when to use the tool (before making a tool call) but does not explicitly exclude alternatives or mention when not to use it. It implies using it as a precautionary step, but lacks comparison to sibling tools like 'check_approval_status' or 'list_pending_approvals'. This still offers good guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_my_toolsARead-onlyIdempotentInspect
Enumerate the customer-defined tools currently available to the signed-in user in the named org (or their only org if they have one). Returns tool names, descriptions, default permission, and risk level.
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | The oakallow organization external id (e.g. org_oak_…) this action targets. Required when your account has more than one org; optional if you have exactly one. Get it from the org-specific oakallow skill you downloaded for that org. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, establishing a safe read operation. The description adds value by specifying that it returns tool names, descriptions, default permission, and risk level, and clarifies scope (user's tools, org). No behavioral contradictions.
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 concise, using two sentences that front-load the purpose and scope. Every sentence adds essential information without redundancy.
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 has one optional parameter, no output schema, and annotations cover safety and idempotency, the description is complete. It explains what is returned, the scope (user and org), and handles the single-org vs multi-org case.
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 coverage is 100%; the single 'org' parameter has a detailed description in the schema. The tool description does not add additional parameter meaning beyond what the schema provides, so baseline score 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 clearly states the tool's function: enumerating customer-defined tools. It specifies verb 'enumerate', resource 'customer-defined tools', scope 'available to signed-in user in named org', and output fields. This distinguishes it from sibling tools like check_approval_status or list_pending_approvals.
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 implies usage context (listing tools for a user in an org) but does not explicitly state when to use this tool versus alternatives. It lacks when-not-to-use guidance or explicit prerequisites beyond the org parameter handling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pending_approvalsARead-onlyIdempotentInspect
List approval requests still awaiting a human decision for the signed-in user. Useful for agents picking up an abandoned workflow.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating no side effects. The description adds that it operates for the signed-in user, which is important context. This is adequate but not additional behavioral depth beyond annotations.
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?
Two short, clear sentences with no wasted words. The description is front-loaded with the main action and follows with a use case.
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?
For a tool with no parameters and no output schema, the description covers the purpose, scope (signed-in user), and a usage context. It could mention the output format but is generally complete given the simplicity.
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?
There are zero parameters, and schema coverage is 100%. The description does not need to explain parameters. The baseline of 4 is appropriate as no additional info is required.
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 tool lists approval requests still awaiting a human decision for the signed-in user. It distinguishes from siblings like check_approval_status by implying this is for all pending requests rather than a specific one.
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 explicitly says 'Useful for agents picking up an abandoned workflow,' giving a concrete use case. However, it does not explicitly state when to avoid this tool in favor of siblings, leaving some guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_testCInspect
Starts a Testing Run
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | An identifier for the agent making this call (free text — a name, code, or number you use to track your own agents). Lets the oakallow governance report distinguish which agent submitted each call instead of attributing everything to the connector account. Optional but recommended; send the same value consistently per agent. | |
| reason | No | Short non-sensitive summary of why this tool is being called (e.g. "grant_credits requested after verify_coupon"). Oakallow automatically redacts SSN, card numbers, emails, phone numbers, and addresses from this field before storing — do not rely on redaction, avoid putting customer PII here. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With all annotation hints set to false, the description carries the full burden but discloses no behavioral traits. It implies mutation by starting a run but does not explain side effects, idempotency, or resource impact.
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 sentence with no waste, but it is under-specified. It achieves conciseness at the expense of informativeness, which is closer to minimal viable than ideal.
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 lack of output schema and annotations, the description is insufficiently complete. It does not specify return values, asynchronous behavior, or any post-call effects, leaving the agent underinformed.
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%, so the baseline is 3. The tool description does not add any parameter-related information, relying entirely on the schema descriptions which are already present.
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 'Starts a Testing Run' clearly identifies the action and resource, but it is minimal and does not distinguish the tool from siblings beyond the name. It lacks context on what a testing run entails.
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 on when to use this tool versus alternatives like check_approval_status or list_pending_approvals. The description does not mention prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceGates agent tool execution with human approval, audit trails, and replay-resistant permits, enabling safe use of tools in agent loops.MIT
- AlicenseAqualityAmaintenanceLocal zero-trust permission gateway for AI agents. Enforces policy-based tool authorization, human approvals, scoped permissions, and cryptographically verifiable audit logs.45Apache 2.0
- Flicense-qualityBmaintenanceProvides a secure MCP boundary for AI agents, intercepting and validating tool calls, redacting secrets, and requiring human approval for sensitive actions with a tamper-evident audit trail.
- Alicense-qualityBmaintenanceProvides a human-in-the-loop approval gateway for AI agents, enforcing policies and audit logging for MCP-compatible tool calls.Apache 2.0
Your Connectors
Sign in to create a connector for this server.