Getting StartedAI in WebexBlogSupport
Log inSign up
Home
MCP
  • Webex MCP Server
  • Security Guides
  • Cisco Onboarded MCP Servers
  • Federated through External Registery
  • Agentic Apps
  • Connect Webex MCP Servers to External Clients
  • Connect External MCP Servers to Webex AI
  • Beta Program

MCP

Admin Approval Guide for Agentic Apps

This is a review guide for organization administrators evaluating and approving MCP Servers and A2A Agents before enabling them for organizational users. It provides guidelines to validate that an agentic app meets security, quality, and governance standards.


anchorTable of Contents

anchor
  • Overview
  • Server-Level Review
    • Identity & Provenance
    • Server Accessibility
    • Authentication Configuration
    • Privacy & Compliance
    • Badge Types (Public Apps on AppHub)
  • Tool-Level Review
    • Tool Naming & Descriptions
    • Input & Output Schemas
    • Side Effects & Risk Assessment
    • Consent & Elicitation Requirements
  • Enablement Scope & Assignment
    • Org vs. Group Enablement
    • Server vs. Per-Tool Assignment
  • Security Review
    • Input Validation Posture
    • Authorization & Least Privilege
    • Data Handling & Privacy
    • Network & Supply Chain
    • Injection & Manipulation Defenses
  • Quality Review
    • Functional Accuracy
    • Error Handling
    • Reliability & Performance
    • Documentation & Support
  • Signature & Change Policy
  • Approval Checklist
  • Post-Approval Monitoring

anchorOverview

anchor
Your Role as Gatekeeper

As an organization administrator, you are responsible for ensuring that any agentic app enabled for your users meets your organization's security, privacy, and quality standards. Agentic apps have the ability to:

  • Execute actions on behalf of users via AI agents
  • Access organizational data through configured credentials
  • Interact with external systems using your org's identity

Before approving an app, verify that:

  1. The developer/company is legitimate and trustworthy
  2. The server and its tools are secure and well-designed
  3. The data handling practices align with your org's policies
  4. The capabilities exposed are appropriate for your user base
Review Process
  1. Browse → Discover the app in Control Hub → Management → Apps → Agentic Servers
  2. Review → Evaluate the app
  3. Configure → Set authentication, enable specific tools, define scope
  4. Approve → Enable for your organization (org-wide or group-specific)
  5. Monitor → Observe usage and re-review on changes

anchorServer-Level Review

anchor
Identity & Provenance

Verify the app's publisher is legitimate and the server is production-ready.

CheckWhat to VerifyRed Flags
Company nameReal company; matches contact email domainUnknown company, mismatched domains
Developer identityFor org-private apps: verify developer within your org. For public apps: rely on Cisco's review (developer account details are not visible to org admins)For org-private: unknown developer within org
Company websiteValid, accessible, professionalPlaceholder sites, parked domains
App descriptionClear, specific, matches actual functionalityVague descriptions, marketing-only language, mentions "demo" or "alpha"
Logo & brandingProfessional; no Cisco/Webex branding (unless Cisco app)Low quality, appropriated branding
Badge typeCheck the badge assigned on AppHub (see badge types below)No badge, or Federated badge without additional due diligence
Badge Types (Public Apps on AppHub)

Public agentic apps are assigned a badge on AppHub indicating the level of Cisco review they have undergone:

BadgeMeaningTrust Level
Cisco OfficialCisco Official; Certified by Cisco (first-party or OEM)Highest — developed/maintained by Cisco
Cisco OnboardedDeveloped by external party; Certified by CiscoHigh — passed Cisco certification
Partner OnboardedDeveloped by Cisco Partner; Reviewed by CiscoHigh — partner-vetted and Cisco-reviewed
Developer OnboardedDeveloped by independent developer; Reviewed by CiscoModerate — passed Cisco's review process
Federated through RegistryImported from External Registry; no Cisco manual reviewLower — has NOT undergone Cisco's manual review; exercise extra due diligence

Org-Private vs. Public:

  • Org-Private apps are only visible to your organization. They have NOT undergone any Cisco/AppHub review. As the org admin, you are solely responsible for reviewing and approving these apps.
  • Public apps have been reviewed by Cisco and carry a badge indicating the level of review (see table above). However, even for public apps, the org admin remains ultimately responsible for enabling the app within their organization. Cisco's review validates technical and security standards, but the decision to allow the app for your users — and the associated legal and compliance responsibility — rests with you as the org administrator.
Server Accessibility
CheckWhat to Verify
Server URLValid HTTPS endpoint, publicly reachable
TLS certificateValid, not expired, issued by trusted CA
Response timeServer responds within acceptable latency
AvailabilityServer has documented uptime SLAs or reliability history
Authentication Configuration

Ensure the authentication type is appropriate for the server's purpose and your org's security posture. Agent Central supports four auth types:

Auth TypeWhen AppropriateWhat You ConfigureAdmin Concern
OAuth 2.0 – Client Credentials (OAuth2_clientCredentials)Server-to-server; no user context neededclientId, clientSecret, authServerURL, scopeVerify token endpoint is legitimate; check scope breadth
OAuth 2.0 – Authorization Code (OAuth2_authorizationCode)User-delegated access; interactive flowsclientId, clientSecret, authServerURL, authorizationEndpoint, scope, registrationEndpoint, tokenEndpointAuthMethodVerify authorization endpoint; assess PKCE support; check scope granularity
Org-Scoped Token (orgScopedToken)Admin-provisioned shared credential (e.g., API key); same token used for all userskey (header name, default Authorization) + value (KMS-encrypted at rest)Verify the credential is scoped narrowly; confirm rotation plan; understand who else has access
User-Scoped Token (userScopedToken)End-user supplies token at runtime via SDK; each user authenticates as themselvesOnly key (header name, default Authorization) — no value persistedUsers are directly authenticating; understand what access the token grants to the server

Header semantics: For userScopedToken and orgScopedToken, the credential is sent as <key>: Bearer <value>. The Bearer scheme is hard-coded; the key field controls only the header name. If the upstream server expects a non-Authorization header (e.g., X-API-Token), set key accordingly during enablement.

Credential storage: orgScopedToken.value, OAuth2.clientSecret, and OAuth2 access tokens are KMS-encrypted at rest. userScopedToken never persists a token value — it's supplied per-request by the client SDK.

Note: Legacy auth types apiKey and userToken are automatically migrated on read to orgScopedToken and userScopedToken respectively. customHeaderAuth is rejected for new server registrations but still honored on read for existing records (admin enablement writes still accept it for back-compat).

OAuth configuration prefill: For OAuth auth types, if the server exposes a .well-known/oauth-authorization-server endpoint (RFC 8414), the authorization endpoint, token endpoint, and supported scopes are automatically prefilled during enablement. If the server does not expose this endpoint, you (the admin) will need to manually fill in these OAuth configuration values.

Questions to ask:

  • Does the auth type match the data sensitivity level? (Shared org credential vs. per-user identity matter very differently for audit and blast radius.)
  • Are credentials rotatable? What is the rotation schedule?
  • Are scopes minimal (least privilege)?
  • For OAuth: Is the authorization server well-known and trusted? Are the prefilled values correct?
  • For orgScopedToken: Is the stored credential KMS-encrypted and rotated regularly? Who in your org has visibility into the value?
  • For userScopedToken: Is the header key appropriate for the upstream service, or is the default Authorization header sufficient?
Privacy & Compliance

Vendor-provided URLs are captured and displayed as part of server metadata. Review the following:

CheckWhat to Verify
Privacy URL (privacyUrl)Valid, publicly accessible link that explains data handling
Support URL (supportUrl)Valid link for issue reporting and support
Company URL (companyUrl)Matches the publisher's claimed identity
Product URL (productUrl)Points to legitimate product documentation

anchorTool-Level Review

anchor

Review each tool individually before enabling it. Tools are the primary attack surface for agentic apps.

Tool Naming & Descriptions
CheckWhat to Look ForRed Flags
Name clarityDescriptive, uses domain prefix + verb patternGeneric names (run, execute); no domain prefix
Name length≤ 60 charactersExcessively long or abbreviated names
Description accuracyMatches actual behavior; factual and neutralImperative language ("always use this tool"); exaggerated claims
No manipulationDescription doesn't try to influence LLM preferencePhrases like "preferred tool", "use this instead of..."
Namespace uniquenessDoesn't shadow or conflict with other server toolsIdentical names to common tools from other servers

Why this matters: Tool descriptions are injected into LLM context. Deceptive descriptions can manipulate which tools get selected, potentially routing sensitive data to malicious servers.

Input & Output Schemas
CheckWhat to VerifyRed Flags
Schema precisionUses explicit types, constraints, enums, boundsUnbounded strings, any types, no validation
Required fieldsClearly marked; minimal setEverything optional (tool may silently fill defaults)
No excessive data collectionInput fields are necessary for the stated functionRequesting user data unrelated to tool purpose
Output structureOutputs are concise and well-typedLarge unstructured text dumps; excessive data return
Sensitive field handlingPII/secrets marked; guardrails declaredNo sensitivity annotations; potential data leakage paths
Additional propertiesadditionalProperties: false prevents unexpected inputSchema allows arbitrary extra fields
Side Effects & Risk Assessment

Tools don't carry a formal risk-class field — you assess risk from the tool's name, description, input schema, and stated side effects. Use the buckets below as a mental model when deciding whether to enable a tool, restrict it to specific groups, or reject it.

Your AssessmentExamplesReview Scrutiny
HighDelete operations, financial transactions, sending emails, modifying user dataRequires strongest justification; consider restricting to specific groups (enablementLevel: group with assignmentMode: perTool)
MediumRead with broad scope, modify non-critical settings, create non-sensitive recordsStandard review; verify scope is appropriate
LowRead-only lookups, status checks, formatting operationsLight review; verify data returned is appropriate

Questions for tools you assess as high-risk:

  • Does the tool description indicate a human-in-the-loop step (elicitation) before execution?
  • Can the action be undone if invoked incorrectly?
  • Is the scope of impact bounded (single user vs. org-wide)?
  • Does the tool advertise rate limits preventing mass actions?
Consent & Elicitation

Elicitation is the developer-facing mechanism for pausing a tool call to ask the user for input or confirmation. As an admin, you can't directly configure elicitation — but you can assess whether the developer has applied it appropriately.

CheckWhat to Verify
Description signals consent stepsDescription indicates when user input or confirmation is required mid-execution
Destructive operations are gatedTools you assessed as high-risk pause for explicit user confirmation rather than acting silently
Headless behavior is documentedThe developer documents what happens when no user is present (e.g., automated pipelines)
Elicitation prompts are clearIf the tool elicits input, the prompts shown to the user are factual and non-misleading

anchorEnablement Scope & Assignment

anchor

When you approve an agentic app, you also decide who in your org may use it and at what granularity. Two independent dimensions control this:

DimensionChoices
AudienceEntire organization or Selected user groups
Assignment modeAll tools or Per-tool
Org vs. Group Enablement
ChoiceWhen to UseTrade-off
Entire organizationLow-risk, broadly useful tools (e.g., calendar lookups, generic search)Maximum reach; everyone with SDK access can invoke
Selected user groupsSensitive scopes, regulated data, role-specific workflowsBounded blast radius; requires up-to-date group membership in your identity provider

When you select Selected user groups, you choose the specific groups that should have access. A user's group membership is resolved from your org's identity at request time — only users whose groups intersect with the configured set are granted access.

Server vs. Per-Tool Assignment
ChoiceBehaviorWhen to Use
All toolsThe audience configured at server level applies to all tools uniformlyMost apps. Simpler to reason about; fewer settings to maintain
Per-toolEach tool can be enabled for a different group set; the server-level audience is overridden by each tool's own group selectionApps where some tools are admin-only or finance-only while others are general-purpose

Best Practice: Start with All tools. Move to Per-tool only when you have a concrete need to split tool access across groups — per-tool assignment requires you to maintain group lists per tool, which compounds drift risk.


anchorSecurity Review

anchor
Input Validation Posture

Verify the developer has implemented proper input handling:

CheckEvidence to Look For
Schema enforcementStrict JSON Schema with additionalProperties: false
Type safetyExplicit types (no untyped fields or any)
Length boundsmaxLength on string fields; maximum/minimum on numbers
Pattern validationRegex patterns for structured strings (IDs, emails, URLs)
Enum constraintsFixed value sets where applicable
No dynamic executionNo indication of eval(), template interpolation, or shell execution from input
Authorization & Least Privilege
CheckWhat to VerifyConcern
Scope declarationEvery tool declares required scopesMissing scopes → unclear access boundaries
Scope minimalityScopes are narrowly defined per-toolBroad scopes (*, admin) without justification
Your risk assessment matches behaviorDescription and inputs are consistent with the impact you assessedA tool that looks "low risk" but takes an unbounded query field that could exfiltrate data
Confused deputy preventionUser and server privileges are separatedServer might act with elevated access on behalf of regular users
Token handlingShort-lived, scoped tokens preferredLong-lived tokens, broad audience claims
Data Handling & Privacy
CheckWhat to Verify
Data minimizationTool only accesses/returns data needed for its function
PII handlingPersonal data is identified and protected
Logging postureDeveloper confirms no PII/secrets in logs
EncryptionData encrypted in transit (TLS) and at rest
RetentionClear retention policy with secure deletion
Cross-session isolationNo data leakage between users or sessions
Context limitationsContext size and lifetime are bounded
Network & Supply Chain
CheckWhat to Verify
HTTPS onlyServer endpoint uses TLS (no HTTP fallback)
Certificate validityValid cert from trusted CA; not self-signed
Outbound restrictionsServer limits egress to necessary destinations
SSRF protectionServer blocks requests to internal/private addresses
Dependency postureDependencies are pinned and scanned
SBOM availableSoftware bill of materials provided on request
Build integritySigned builds or container images where applicable
Injection & Manipulation Defenses
RiskWhat to Check
Prompt injectionTool descriptions don't contain instruction-like text that could manipulate LLMs
Tool poisoningMetadata is factual, not suggestive or imperative
Name shadowingTool names don't duplicate well-known tools from other servers
Data-as-instructionsOutputs separate data from executable content
Command injectionNo evidence of string concatenation for system commands

anchorQuality Review

anchor
Functional Accuracy
CheckWhat to Verify
Description matches behaviorTool does what its description says — no more, no less
No hidden functionalityTool doesn't perform undisclosed actions
Predictable behaviorSame inputs produce consistent, expected outputs
Error states documentedKnown failure modes are described
Edge cases handledTool behaves gracefully with boundary inputs
Error Handling
CheckWhat to Verify
Structured errorsErrors return machine-readable codes + human-friendly messages
No information leakageError messages don't expose internal details, stack traces, or secrets
Graceful degradationTool doesn't crash or hang on invalid input
Retry guidanceErrors indicate whether retry is safe (retryable flag)
Reliability & Performance
CheckWhat to Verify
Response timeTools respond within reasonable timeouts
Progress streamingLong operations provide progress feedback
Reconnection supportSSE/streaming supports Last-Event-ID resume
Rate limitingServer enforces fair-use limits
IdempotencyState-changing operations handle retries safely
Documentation & Support
CheckWhat to Verify
Documentation URLValid, accessible developer documentation
Support channelClear path for reporting issues
Changelog/versioningVersion history available; deprecation policy stated
SLA/uptimeService level expectations documented

anchorSignature & Change Policy

anchor
Understanding Tool Signatures

Webex computes a schema signature for each tool and continuously monitors it for changes. When a tool's current signature differs from the version you previously approved, Webex flags it: the tool's behavior may have been modified since your last review.

When Signatures Change
ScenarioWhat ChangedRisk LevelRecommended Action
Description update (cosmetic)Wording improved, no semantic changeLowReview, re-approve
New optional input fieldSchema expanded (non-breaking)MediumVerify field purpose; re-approve
Required field added/removedSchema breaking changeHighFull re-review required
Input validation changedConstraints tightened or loosenedMedium-HighAssess security impact
Tool renamedName changed (signature changes)HighEffectively a new tool; full review
Configuring Signature Policy

For each tool, decide on "Allow signature change":

SettingWhen to UseTrade-off
Off (recommended for high-security)Sensitive operations; regulated environmentsUsers lose access until you re-review; more admin work
On (acceptable for low-risk)Read-only tools; trusted publisher with good track recordReduced admin burden; accepts risk of unreviewed changes

Best Practice: Default to Off for new/unfamiliar servers. Switch to On only after establishing trust with the publisher through multiple successful review cycles.

Runtime Behavior on Signature Drift

When a tool's live signature differs from the stored signature:

Allow signature changeTool delivered to client SDK?unsecure flag set?
OffNo — tool is filtered out of /listFunctions resultsn/a
OnYes — tool is still deliveredYes — unsecure: true is included on the tool, so client SDKs and agent UIs can surface a warning to end users

The unsecure flag is your safety net when running with Allow signature change = On: clients still receive the tool, but they're alerted that the contract has shifted since you last reviewed it.


anchorApproval Checklist

anchor

Use this checklist before enabling an agentic app.

Server Identity & Trust
  • Publisher is a legitimate, identifiable company
  • Company website is valid and professional
  • Contact email domain matches company name
  • App description clearly states purpose and capabilities
  • Logo is appropriate and original (no Cisco/Webex branding misuse)
  • Badge type reviewed and understood (for public apps)
  • Privacy URL (privacyUrl) is publicly accessible
  • Support URL (supportUrl) is valid and accessible
  • For org-private apps: developer identity verified within your org
Security
  • Server URL uses HTTPS with valid TLS certificate
  • Authentication type is appropriate for data sensitivity
  • OAuth scopes (if applicable) are minimal and well-defined
  • No tool requests excessive or unnecessary permissions
  • Input schemas enforce strict validation (types, bounds, patterns)
  • No evidence of dynamic code execution from user input
  • Tool descriptions are factual and don't contain manipulative/injection content
Tool Quality
  • Tool names are clear, descriptive, and properly namespaced
  • Tool descriptions are accurate, factual, and non-manipulative
  • Input/output schemas are precise with appropriate constraints
  • High-risk tools have human-in-the-loop (elicitation) controls
  • Error handling produces structured, non-leaking responses
  • Side effects are documented and appropriate for stated purpose
  • No tool appears to shadow or impersonate tools from other servers
Privacy & Data Handling
  • Privacy URL points to a valid, accessible policy page
  • Data minimization: tools only request/return data necessary for their function
  • No tool collects input fields unrelated to its stated purpose
  • Cross-session data isolation: no data leakage between users or sessions
  • User consent mechanisms are in place for sensitive/destructive operations
Enablement Scope
  • Audience choice (Entire organization vs. Selected user groups) matches the tool's risk profile
  • If Selected user groups: group list is current and reflects intended audience
  • Assignment mode (All tools vs. Per-tool) is appropriate; Per-tool only used when groups genuinely differ across tools
  • Allow signature change set per tool — default to Off for new/unfamiliar servers
Operational Readiness
  • Documentation/support URL is valid and useful
  • Version and changelog information available
  • Rate limiting is in place
  • Long-running operations support progress streaming
  • Server demonstrates acceptable response times
  • Reconnection/resume supported for streaming operations

anchorPost-Approval Monitoring

anchor

After enabling an agentic app, continue to monitor for issues.

Webex automatically detects changes in server metadata, enablement state, and tool schema signatures, and surfaces them in your admin views. You don't need to poll — the system tells you what changed.

What to Watch For
SignalDetected byAction
Tool signature changeSchema signature comparisonReview notification; re-evaluate if Allow signature change is Off (tool will be filtered out until re-approved). If On, the tool is delivered with unsecure: true until you re-approve.
Server metadata changeDeveloper edits to description, serverUrl, authType, publish data, submission statusConfirm the change is benign (cosmetic vs. functional). Re-review on URL or authType changes.
Enablement changeAdmin writes to enablement, auth config, or custom headersAudit trail — confirm change was authorized
Unusual usage patternsOperational telemetryInvestigate spikes in invocations or error rates
User complaintsOut-of-bandInvestigate tool behavior discrepancies
Security advisoriesOut-of-band (vendor / CVE feeds)Check if server's dependencies have known vulnerabilities
Version bumpsServer metadata changeReview changelog for breaking changes or new capabilities
Server downtimeHealth checksMonitor availability; consider disabling if prolonged
When to Re-Review

Trigger a full re-review when:

  • Tool signatures change (if policy is "Off")
  • Major version bump announced by the developer
  • Security incident reported affecting the server or its dependencies
  • Org security policy changes (e.g., stricter data residency requirements)
  • User reports unexpected behavior or data exposure
  • More than 6 months since last review (periodic hygiene)
Revoking Approval

If a server no longer meets standards:

  1. Toggle the app to Blocked in Control Hub (immediate effect)
  2. Document the reason for revocation
  3. Notify affected users/groups
  4. Contact the developer with specific issues for remediation
  5. Re-review if/when the developer addresses concerns

anchorSummary

anchor

Effective approval requires evaluating an agentic app across four dimensions:

DimensionKey Questions
TrustIs the publisher legitimate? Is this a production-quality app?
SecurityAre inputs validated? Are privileges minimal? Is data protected?
QualityDo tools work as described? Are errors handled gracefully?
GovernanceCan you maintain oversight? Are changes tracked and reviewable?

When in doubt, start with a restrictive posture: enable only specific tools, limit to a pilot group, keep signature change policy off, and expand access as trust is established through operational experience.

In This Article
  • Table of Contents
  • Overview
  • Server-Level Review
  • Tool-Level Review
  • Enablement Scope & Assignment
  • Security Review
  • Quality Review
  • Signature & Change Policy
  • Approval Checklist
  • Post-Approval Monitoring
  • Summary

Connect

Support

Developer Community

Developer Events

Contact Sales

Handy Links

Webex Ambassadors

Webex App Hub

Resources

Open Source Bot Starter Kits

Download Webex

DevNet Learning Labs

Terms of Service

Privacy Policy

Cookie Policy

Trademarks

© 2026 Cisco and/or its affiliates. All rights reserved.