Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

AIquila — Nextcloud MCP Server

NPM · AIQUILA-MCP · 3 COMPONENTS

Nextcloud MCP server — 345 tools: files, calendar, contacts, mail, Talk, Deck, photos, maps, notes

−1 this week 89 Trust /100

Last scanned (5 hours ago)

Scores higher than 93% of npm servers

Category Documents and Files

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security93
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known medium-severity CVE affects minimatch 9.0.9, reached via webdav > minimatch. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 45 of 124 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency74
  • Repository check failed: the declared repository URL redirects; it must resolve directly. See how to fix → View diagnostics → Fail
  • Cryptographically verified build provenance (signed, bound to elgorro/aiquila). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 3 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability81
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 23946 tokens (~69/item across 345 items; 345 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 97% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 56 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 345 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Nov 26 0
    • Stability: 0.97 → pass security
  • 2 Nov 26 0
    • Stability: pass → 0.97 functional
  • 31 Oct 26 +24
    • CVE-2026-118764 affects this package: medium ▼ security
    • Known CVEs: unverified → fail ▼ security
    • Malware scan: unverified → pass ▲ security
    • Dependency health: unverified → 0.83 ▲ functional
  • 30 Oct 26 −25
    • Malware scan: pass → unverified ▼ security
    • Known CVEs: pass → unverified ▼ security
    • Dependency health: 0.82 → unverified ▼ functional
    • Security disclosure: fail → pass ▲ functional
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • Package version: 0.4.19 → 0.5.0 functional
  • 27 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
    • Stability: 0.97 → pass security
  • 26 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Schema quality: 20947 → 24000 ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Stability: pass → 0.97 functional
    • Package version: 0.4.11 → 0.4.19 functional
    • Package version: 0.4.11 → 0.4.18 functional
  • 24 Oct 26 0
    • Package version: 0.3.23 → 0.4.11 functional
  • 20 Oct 26 0
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/aiquila-mcp@0.5.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo elgorro/aiquila
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/elgorro/aiquila/.github/workflows/mcp-release.yml@refs/heads/main
Rekor log index 3591551501
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:66d9c92b6c9ce09b5ef3db5037e2f50901bd725b1a968e0fa09c7a59c905f0c2f93d6cc105a08fd7af0ce3ed99880384fcefd2acbf804127c295c145a

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-g3hv-75wg-m249 CVE-2026-118764 medium yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 124 packages
Packages resolved 124
Deprecated 1
Stale 44
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 345 exposed · ~23,946 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
social_unfollow_account ~42

Stop following a fediverse account from this user’s Nextcloud Social account.

NameTypeReqDescription
accountstringyesAccount id, or the handle (user@server)

No output schema declared.

No examples provided.

social_upload_media ~111

Stage a file from this user’s Nextcloud storage as a media attachment for Nextcloud Social, and return the media id to pass to social_post_status. The file is copied at upload time, so moving or deleting the original later does not empty the post. Nothing is published until the post is made.

NameTypeReqDescription
descriptionstring–Alt text describing the media, for accessibility
pathstringyesPath to the file inside the user’s Nextcloud files, e.g. Photos/sunset.jpg

No output schema declared.

No examples provided.

star_item ~28

Star (favorite) a single news item.

NameTypeReqDescription
itemIdnumberyesThe item ID

No output schema declared.

No examples provided.

stop_coworker ~62

Stop a coworker's in-flight run (running or pending batch) and mark it cancelled. The schedule is untouched — use pause_coworker or disable_coworker to stop future runs.

NameTypeReqDescription
idnumberyesCoworker ID

No output schema declared.

No examples provided.

system_status ~22

Get Nextcloud system status including version, installation path, and configuration

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

talk_add_participant ~66

Add a user, group, or email participant to a Talk conversation.

NameTypeReqDescription
newParticipantstringyesUser ID, group ID, or email address to add
sourcestring–Participant source type (default 'users')
tokenstringyesConversation token

No output schema declared.

No examples provided.

talk_create_conversation ~78

Create a new Talk conversation. One-on-one requires an invite user, group/public require a name.

NameTypeReqDescription
invitestring–User ID to invite (required for one-on-one)
roomNamestring–Name for the conversation (required for group and public)
roomTypestringyesType of conversation to create

No output schema declared.

No examples provided.

talk_create_poll ~100

Create a poll in a Talk conversation. Requires at least 2 options.

NameTypeReqDescription
maxVotesnumber–Maximum number of votes per participant (0 = unlimited, default 1)
optionsarrayyesPoll options (minimum 2)
questionstringyesPoll question
resultModestring–Result visibility: 'public' (default) or 'hidden' until closed
tokenstringyesConversation token

No output schema declared.

No examples provided.

talk_delete_message ~40

Delete a message from a Talk conversation.

NameTypeReqDescription
messageIdnumberyesID of the message to delete
tokenstringyesConversation token

No output schema declared.

No examples provided.

talk_list_conversations ~48

List all Talk conversations the user has access to. Returns conversation tokens, names, types, and unread message counts.

NameTypeReqDescription
includeStatusboolean–Include user status information (default false)

No output schema declared.

No examples provided.

talk_list_messages ~111

List recent messages in a Talk conversation. Returns message content with timestamps and authors. Reading does not mark the conversation as read.

NameTypeReqDescription
includeSystemMessagesboolean–Include system messages like join/leave notifications (default false)
lastKnownMessageIdnumber–Message ID to start from for pagination (returns messages before this ID)
limitnumber–Number of messages to retrieve (default 50, max 200)
tokenstringyesConversation token (from list_conversations)

No output schema declared.

No examples provided.

talk_list_participants ~30

List all participants in a Talk conversation with their roles.

NameTypeReqDescription
tokenstringyesConversation token

No output schema declared.

No examples provided.

talk_react_to_message ~69

Add an emoji reaction to a message in a Talk conversation.

NameTypeReqDescription
messageIdnumberyesID of the message to react to
reactionstringyesEmoji reaction (e.g. '👍', '❤️', '🎉')
tokenstringyesConversation token

No output schema declared.

No examples provided.

talk_remove_participant ~52

Remove a participant from a Talk conversation by their attendee ID (from list_participants).

NameTypeReqDescription
attendeeIdnumberyesAttendee ID of the participant to remove
tokenstringyesConversation token

No output schema declared.

No examples provided.

talk_send_message ~75

Send a message to a Talk conversation. Supports replies and silent messages that do not trigger notifications.

NameTypeReqDescription
messagestringyesMessage text to send
replyTonumber–Message ID to reply to
silentboolean–Send without triggering notifications (default false)
tokenstringyesConversation token

No output schema declared.

No examples provided.

transfer_form_owner ~55

Transfer ownership of a form to another Nextcloud user. The new owner must have access to the Forms app.

NameTypeReqDescription
formIdintegeryesForm ID
ownerIdstringyesUser ID of the new owner

No output schema declared.

No examples provided.

translate_text ~94

Translate text between languages using Nextcloud's configured translation provider. If called without text, returns available language pairs.

NameTypeReqDescription
fromLanguagestring–Source language code (e.g. 'en', 'de', 'fr')
textstring–Text to translate. Omit to list available language pairs.
toLanguagestring–Target language code (e.g. 'en', 'de', 'fr')

No output schema declared.

No examples provided.

unified_search ~124

Search across all Nextcloud apps (files, calendar, contacts, mail, notes, etc.) using Unified Search. Optionally filter by a specific provider ID. Without a provider, searches the top providers in parallel.

NameTypeReqDescription
cursorstring–Pagination cursor returned from a previous search
limitnumber–Maximum results per provider (default: 5)
providerstring–Search a specific provider by ID (e.g. "files", "calendar", "contacts"). Omit to search across all providers.
querystringyesThe search query

No output schema declared.

No examples provided.

uninstall_app ~50

Remove a Nextcloud app via occ app:remove

NameTypeReqDescription
appIdstringyesApp ID to remove (e.g. "tasks")
keepDataboolean–Keep app data after removal

No output schema declared.

No examples provided.

unshare_map_category ~32

Remove the public link share from a favorite category.

NameTypeReqDescription
categorystringyesCategory name to unshare

No output schema declared.

No examples provided.

unstar_item ~29

Remove the star from a single news item.

NameTypeReqDescription
itemIdnumberyesThe item ID

No output schema declared.

No examples provided.

update_bookmark ~88

Update an existing bookmark. Only provided fields are changed.

NameTypeReqDescription
descriptionstring–New description
foldersarray–New folder IDs (replaces existing folders)
idnumberyesThe bookmark ID to update
tagsarray–New tags (replaces existing tags)
titlestring–New title
urlstring–New URL

No output schema declared.

No examples provided.

update_bookmark_folder ~61

Update a bookmark folder (rename or move to a different parent).

NameTypeReqDescription
idnumberyesThe folder ID to update
parent_foldernumber–New parent folder ID (-1 for root)
titlestring–New folder name

No output schema declared.

No examples provided.

update_contact ~245

Update an existing contact's fields by UID. Uses CardDAV ETag-based optimistic concurrency. Only provided fields are changed.

NameTypeReqDescription
addressBookNamestring–The address book name (default: 'contacts')
addressesarray–Replace all addresses with these
birthdaystring|null–New birthday (YYYY-MM-DD or YYYYMMDD), or null to remove
categoriesarray–Replace all groups/categories with these
emailsarray–Replace all emails with these
firstNamestring|null–New first name, or null to clear
fullNamestring–New full display name
lastNamestring|null–New last name, or null to clear
notestring|null–New notes, or null to remove
orgstring|null–New organization, or null to remove
phonesarray–Replace all phone numbers with these
titlestring|null–New job title, or null to remove
uidstringyesThe UID of the contact to update
urlstring|null–New website URL, or null to remove

No output schema declared.

No examples provided.

update_coworker ~394

Update a coworker's configuration (title, description, provider, input/output, schedule, prompt, tool allowlist, options). Only the given fields change; option changes are merged into the existing options.

NameTypeReqDescription
cronSchedulestring–5-field cron, e.g. "0 3 * * *"
descriptionstring–Free-text description
effortstring–Reasoning effort, e.g. "low"; "" uses the default
idnumberyesCoworker ID
inputPathstring–Folder to process, e.g. "/Photos"
isActiveboolean–Whether the coworker is enabled
maxTagsnumber–Max tags per image (vision:classify)
modelstring–Model id to run with; omit to use the provider's default
optionsobject–Task-specific options, e.g. {"targetLanguage":"de"} for docs:translate. Typed fields above take precedence
outputPathstring–Output file or folder when outputType needs one
outputTypestring–Where results go, e.g. "system_tags" (default) or "file"
promptstring–Custom prompt the coworker runs (agent coworkers, needs a recent AIquila app)
promptIdnumber–Id of a saved prompt to run instead of `prompt`
providerstring–Provider id: "anthropic", "mistral", "deepseek", "hetzner" or "local"; "" follows the owner setting
recursiveboolean–Include sub-folders
thinkingstring–Extended thinking for models that support it
titlestring––
toolsarray–Allowlist of MCP tool names an agent coworker may call on its unattended runs; [] allows none

No output schema declared.

No examples provided.

update_event ~345

Update an existing calendar event's fields by UID. Uses CalDAV ETag-based optimistic concurrency.

NameTypeReqDescription
accessClassstring–New classification
alarmnumber|null–Single reminder in minutes before the event, or null to remove all existing alarms. For multiple reminders use alarms[].
alarmsarray–Multiple reminders in minutes before the event (e.g. [1440, 60]). Replaces existing alarms; combined with alarm if both are set.
attendees––Replace attendees list, or null to remove all attendees
calendarNamestringyesThe calendar name. Use list_calendars to find available calendar names.
categoriesarray–Replace all tags with these
descriptionstring|null–New description, or null to remove
dtend––New end date/time, or null to remove
dtstartstring–New start date/time (YYYYMMDD or YYYYMMDDTHHmmssZ)
locationstring|null–New location, or null to remove
rrule––New recurrence rule, or null to remove
statusstring–New status
summarystring–New event title
transpstring–New transparency
tzidstring–IANA time zone (e.g. "Europe/Berlin") for the updated dtstart/dtend. When set, a VTIMEZONE block is added (if missing) and DTSTART/DTEND use TZID instead of UTC. Required for iOS/Thunderbird CalDAV s…
uidstringyesThe UID of the event to update

No output schema declared.

No examples provided.

update_form ~128

Update form properties. Only provided fields are changed. state: 0=active, 1=closed, 2=archived. expires=0 disables expiration.

NameTypeReqDescription
allowEditSubmissionsboolean––
descriptionstring––
expiresinteger–Unix timestamp; 0 = no expiration
formIdintegeryesForm ID
isAnonymousboolean––
showExpirationboolean––
state–––
submissionMessagestring––
submitMultipleboolean––
titlestring––

No output schema declared.

No examples provided.

update_form_option ~65

Update a choice option's text (and optionally its order).

NameTypeReqDescription
formIdintegeryesForm ID
optionIdintegeryesOption ID
orderinteger––
questionIdintegeryesQuestion ID
textstring––

No output schema declared.

No examples provided.

update_form_question ~102

Update question properties (text, requirement, type, etc.). Only provided fields are changed.

NameTypeReqDescription
extraSettingsobject–Question-type-specific settings (e.g. validationRegex, allowedFileTypes)
formIdintegeryesForm ID
isRequiredboolean––
namestring–Internal name / shortcode
questionIdintegeryesQuestion ID
textstring––
typestring––

No output schema declared.

No examples provided.

update_form_share ~52

Update the permissions on an existing form share.

NameTypeReqDescription
formIdintegeryesForm ID
permissionsarrayyesNew permission set
shareIdintegeryesShare ID (from get_form)

No output schema declared.

No examples provided.

update_map ~53

Update a custom map's properties (e.g. rename).

NameTypeReqDescription
idnumberyesMap ID
valuesobjectyesKey-value pairs to update (e.g. { newName: 'My Trip' })

No output schema declared.

No examples provided.

update_map_device ~65

Update a device's display color and/or name. At least one must be provided.

NameTypeReqDescription
colorstring–New color (e.g. '#ff0000')
idnumberyesDevice ID
namestring–New device name (user agent)

No output schema declared.

No examples provided.

update_map_favorite ~112

Update an existing map favorite. Only provided fields are changed.

NameTypeReqDescription
categorystring–New category
commentstring–New comment
extensionsstring–New extensions data
idnumberyesFavorite ID
latnumber–New latitude
lngnumber–New longitude
myMapIdnumber–ID of a custom map to scope the operation to; omit for the user's default map
namestring–New name

No output schema declared.

No examples provided.

update_map_track ~68

Update a track's color or metadata.

NameTypeReqDescription
colorstring–New color (e.g. '#00ff00')
etagstring–ETag for concurrency control
idnumberyesTrack ID
metadatastring–New metadata as JSON string

No output schema declared.

No examples provided.

update_note ~73

Update an existing note. Provide only the fields you want to change.

NameTypeReqDescription
categorystring–New category
contentstring–New content (Markdown)
favoriteboolean–Favorite flag
idintegeryesNote ID (from list_notes)
titlestring–New title

No output schema declared.

No examples provided.

update_poll ~175

Update a poll configuration. Only provided fields are changed. Set expire to 0 for no expiration, or a unix timestamp to auto-close on that date.

NameTypeReqDescription
accessstring––
allowCommentboolean––
allowMaybeboolean––
allowProposalsboolean––
anonymousboolean––
autoReminderboolean––
descriptionstring––
expireinteger–Unix timestamp; 0 = no expiration; negative = close immediately
hideBookedUpboolean––
maxVotesPerOptioninteger––
maxVotesPerUserinteger––
pollIdintegeryesPoll ID
showResultsstring––
titlestring––
useNoboolean––

No output schema declared.

No examples provided.

update_project ~65

Update an AIquila project. Only provided fields are updated.

NameTypeReqDescription
descriptionstring–New project description
idnumberyesProject ID
systemPromptstring–New system prompt for conversations using this project
titlestring–New project title

No output schema declared.

No examples provided.

update_recipe ~196

Update an existing recipe in Nextcloud Cookbook. Only provided fields are changed.

NameTypeReqDescription
cookTimestring–New cook time (ISO 8601 duration)
descriptionstring–New description
folderNamestringyesThe recipe folder name
imagestring–New image URL
keywordsstring–New keywords
namestring–New recipe name
nutritionobject–Nutrition information
prepTimestring–New prep time (ISO 8601 duration)
recipeCategorystring–New category
recipeIngredientarray–New ingredients list
recipeInstructionsarray–New instructions list
recipeYieldnumber–New servings count
toolarray–New tools list
totalTimestring–New total time (ISO 8601 duration)
urlstring–New source URL

No output schema declared.

No examples provided.

update_registration_settings ~72

Update one or more Nextcloud Registration app settings. Boolean settings use the strings 'yes'/'no'; allowed_domains takes a JSON array string (e.g. '["example.com"]'). Requires the configured Nextcloud user to be an admin.

NameTypeReqDescription
settingsarrayyesOne or more key/value pairs to update

No output schema declared.

No examples provided.

update_share ~129

Update an existing share in Nextcloud

NameTypeReqDescription
expireDatestring–Expiration date (YYYY-MM-DD)
hideDownloadboolean–Hide download button for public link shares
labelstring–Label for public link shares
notestring–Note to the share recipient
passwordstring–Password-protect the share
permissionsnumber–Permission bitmask: 1=read, 2=update, 4=create, 8=delete, 16=share
shareIdnumberyesThe share ID to update

No output schema declared.

No examples provided.

update_task ~234

Update an existing task's fields by UID. Uses CalDAV ETag-based optimistic concurrency.

NameTypeReqDescription
calendarNamestring–The calendar name (default: 'tasks')
categoriesarray–Replace all tags with these
classificationstring–New classification
descriptionstring–New description
dtstart––New start date, or null to remove
due––New due date (YYYYMMDD or YYYYMMDDTHHmmssZ), or null to remove
locationstring|null–New location, or null to remove
percentCompletenumber–New completion percentage
pinnedboolean–Pin or unpin the task
prioritynumber–New priority (0-9, 0 removes priority)
relatedTostring|null–New parent UID, or null to remove parent
statusstring–New status
summarystring–New task title
uidstringyesThe UID of the task to update
urlstring|null–New URL, or null to remove

No output schema declared.

No examples provided.

update_terms_settings ~89

Update the Terms of Service enforcement settings: whether logged-in users must accept the terms (tos_for_users) and whether the terms apply to public shares (tos_on_public_shares). Requires the configured Nextcloud user to be an admin.

NameTypeReqDescription
tosForUsersboolean–Require logged-in users to accept the terms
tosOnPublicSharesboolean–Apply the terms to public shares

No output schema declared.

No examples provided.

vote_on_poll ~76

Cast or change your vote on a poll option. setTo: "yes" to vote yes, "no" to vote no, "maybe" for a tentative yes (only if allowed).

NameTypeReqDescription
optionIdintegeryesOption ID to vote on (from list_poll_options)
setTostringyesVote value

No output schema declared.

No examples provided.

write_file ~61

Create or update a file in Nextcloud. File size is limited (default 1 GB, configurable via MCP_MAX_FILE_SIZE).

NameTypeReqDescription
contentstringyesThe content to write to the file
pathstringyesThe file path in Nextcloud

No output schema declared.

No examples provided.

write_text_workspace ~76

Create or overwrite a folder's Text workspace file. If a workspace already exists, its existing filename is reused; otherwise Readme.md is created at the folder root.

NameTypeReqDescription
contentstringyesMarkdown content to write
pathstringyesFolder path relative to the user's root (e.g. '/Projects/Acme')

No output schema declared.

No examples provided.

Install

How do I install the AIquila — Nextcloud MCP Server server?

AIquila — Nextcloud MCP Server runs locally as an npm package, launched with npx -y aiquila-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · aiquila-mcp

# add to Claude Code
claude mcp add elgorro-aiquila-mcp -- npx -y aiquila-mcp
Common questions

What is the AIquila — Nextcloud MCP Server server?

AIquila — Nextcloud MCP Server is listed in the public MCP registry as io.github.elgorro/aiquila-mcp. Nextcloud MCP server, 345 tools: files, calendar, contacts, mail, Talk, Deck, photos, maps, notes. This page covers its npm package (aiquila-mcp).

Is the AIquila — Nextcloud MCP Server server safe to use?

AIquila — Nextcloud MCP Server scores 89 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the AIquila — Nextcloud MCP Server server expose?

AIquila — Nextcloud MCP Server exposes 345 tools: list_files, read_file, write_file, create_folder, delete, and 340 more. Their descriptions and schemas cost roughly 23,946 tokens of context every time the server is loaded.

Is the AIquila — Nextcloud MCP Server server still maintained?

AIquila — Nextcloud MCP Server is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the AIquila — Nextcloud MCP Server server under?

AIquila — Nextcloud MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.