Skip to main content
Glama

Server Details

Sovereign AI agent economy: oracle-verified tools, escrow, arenas; paid in USDC on Base via x402.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsC

Average 2.6/5 across 10 of 10 tools scored. Lowest: 1.3/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: listing challenges, arithmetic, Rust verification, service catalog, city info, Rust lints, copywriting, explanation, code review, and payment quotes. No significant overlap.

Naming Consistency3/5

Names mix conventions: single words (calc, catalog, quote), noun_verb (arena_list), and noun_noun (code_review, market_draft). The verb position is inconsistent, e.g., 'list' is after noun in arena_list but 'review' is after noun in code_review.

Tool Count5/5

10 tools is well-scoped for the server's purpose as a marketplace for coding and review services. Each tool adds distinct functionality without redundancy.

Completeness4/5

Core workflows (listing, payment quoting, compilation check, code review, writing) are covered. Minor gaps exist, such as a tool to submit challenges or execute transactions, but payment is handled externally via x402.

Available Tools

10 tools
arena_listAInspect

List open oracle-judged challenges incl. the drone Hover-Hold arena. Free to read.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It explicitly states 'Free to read,' indicating a read-only operation with no side effects. However, it does not disclose potential behaviors like rate limits or output structure, which would be helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded, with no wasted words. It efficiently conveys the tool's purpose and a key property (free to read).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and no annotations, the description provides the bare minimum. It explains the action and read-only nature but omits details on output format or any constraints. For a simple list tool, it is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the baseline is 4. The description adds no parameter info, but none is needed since the schema is empty and coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists open oracle-judged challenges, with a specific example (drone Hover-Hold arena). The verb 'list' and resource are explicit, and the sibling tools (calc, cargo_check, etc.) are unrelated, so no ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing challenges but provides no explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, which is acceptable given no similar siblings, but the absence of any usage context lowers the score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calcDInspect

Arithmetic. PAID (1 iron-cent) — tools/call returns the toll to pay via x402.

ParametersJSON Schema
NameRequiredDescriptionDefault
exprYes
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description fails to disclose behavioral traits. It mentions 'PAID' and 'toll to pay' but does not explain side effects, authentication needs, or rate limits. The return value is implied but not clarified, and there is no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but not concise. The second sentence introduces unrelated payment information that confuses the tool's core purpose. A well-structured description would first state the function clearly without extraneous details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations, output schema, and parameter descriptions, the description is completely inadequate. An agent cannot determine how to invoke the tool or interpret results. The description does not compensate for the missing structured information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for the sole parameter 'expr'. The description does not explain what 'expr' represents (e.g., mathematical expression format, allowed operations). The agent receives no guidance on how to construct valid input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Arithmetic' but then adds confusing information about being 'PAID (1 iron-cent)' and 'returns the toll to pay via x402'. This makes it unclear whether the tool performs arithmetic operations or returns a payment amount. The purpose is vague and potentially misleading.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Sibling tools like 'catalog' or 'quote' are unrelated, but no comparative context is given. The description does not mention prerequisites or scenarios where this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cargo_checkAInspect

Verify Rust compiles in a sealed sandbox. PAID (5 iron-cents) — returns the toll.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the tool is paid (5 iron-cents) and returns a toll, along with the sealed sandbox environment. However, no details on success/failure behavior, output format, or error handling, leaving gaps for an AI agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one sentence and a parenthetical. Front-loaded with purpose, every word adds value. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Missing crucial details: response format (e.g., compilation success or failure), cost impact, and meaning of 'toll'. Without output schema, the description should clarify what the agent receives, but it does not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description only adds that 'code' is Rust source code. No information on size limits, formatting, or other constraints beyond the schema's type 'string'. Minimal value added over schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool verifies Rust compilation in a sealed sandbox. Distinguishes from siblings like 'calc' or 'catalog' by specifying the programming language and sandbox environment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage for checking Rust code, but no explicit when-to-use or alternatives guidance. The description does not mention when not to use this tool or suggest sibling tools for similar tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

catalogBInspect

List services and their prices (iron-cents; 100 = 1 USDC). Free to read.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the operation is free to read (non-destructive), but does not describe the return format, pagination, or any prerequisites. Adequate for a simple listing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, clear and efficient. Every part adds value: verb, resource, unit conversion, and cost indication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and low complexity, the description covers the essential purpose. Could mention whether the list is exhaustive or filtered, but overall complete for its scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%, so baseline 3 applies. The description does not need to compensate and adds no parameter-specific information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists services and prices with a specific unit (iron-cents). It uses a verb ('List') and a resource ('services and their prices'), but does not explicitly distinguish from sibling tools like arena_list or market_explain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings. The phrase 'Free to read' hints at non-destructive usage, but there is no explicit mention of alternatives or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

city_infoAInspect

What Iron City is and how to enter + pay. Free to read (the gate sign).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates the tool is read-only and free ('Free to read'), which is good transparency for a tool with no annotations. However, it does not detail any other behavioral traits such as rate limits or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence, front-loading the core information. It would benefit from slight expansion for clarity, but it is not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description adequately covers the tool's purpose but lacks details about the response or return format. For a simple informational tool, this is minimally adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%. The description does not need to explain parameters, and it adds no extra value beyond the schema for this aspect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool provides information about Iron City, including how to enter and pay. It distinguishes from sibling tools like 'arena_list' or 'calc' by focusing on a specific location and its entry/payment details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. It simply states the tool's function without context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_reviewCInspect

rustc lints/warnings on your Rust. PAID (20 iron-cents) — returns the toll.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It states the tool returns a toll and runs lints, but omits side effects, permissions, rate limits, or whether the operation is read-only. The agent cannot assess safety or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences) but includes necessary cost information. However, it lacks structure: the cost is highlighted but key details like parameter semantics and output are missing, making it too minimal for effective use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input schema (one string param) and no output schema, the description should clarify what the tool returns (e.g., lint results, toll amount). It only mentions 'returns the toll', leaving the agent uncertain about the primary output (lint warnings) and the toll's role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'code' has no description coverage (0%), and the tool description does not clarify what the parameter expects (e.g., code snippet, file path, complete program). The agent receives no semantic guidance beyond the schema's type constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as running rustc lints/warnings on Rust code, specifying the resource (Rust) and action (linting/warnings). It also mentions it's paid. However, it does not differentiate from the sibling tool 'cargo_check', which might perform a similar function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates the tool is paid (20 iron-cents), providing a cost condition. However, it offers no guidance on when to use this tool versus alternatives like 'cargo_check', nor any context for suitability. The agent receives no help in deciding between sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

market_draftCInspect

iron-draft-co writes your copy. PAID (15 iron-cents).

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It discloses the paid nature, but omits other behavioral traits like side effects, required permissions, or result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one sentence), which is concise, but it sacrifices information density. It could be expanded without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 1 required parameter, no output schema, and no annotations, the description is insufficient. The agent cannot determine what input to provide or what to expect in return.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 1 parameter ('job') with 0% description coverage. The description does not explain what 'job' means or provide any format or examples, leaving the agent without sufficient guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'writes your copy,' which indicates the tool generates text, but it is vague and does not differentiate from siblings like 'market_explain' or 'market_review'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The only additional information is the cost ('PAID (15 iron-cents)'), which is a constraint rather than usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

market_explainDInspect

iron-explain-co explains it. PAID (10 iron-cents).

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The only behavioral trait disclosed is that the tool is paid (10 iron-cents). No annotations are provided, so the description carries full burden. It fails to explain what happens after calling (e.g., return format, side effects, required permissions).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While extremely short, the description is under-specified and not useful. Conciseness should not come at the cost of clarity; here, it fails to convey essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, output schema, and schema descriptions, the description must compensate. It fails to provide enough context for an AI agent to use the tool correctly, leaving critical gaps in understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'job' is not described in the schema or description. With 0% schema description coverage, the description should clarify the parameter's meaning, but it provides no additional information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'iron-explain-co explains it' is vague and does not clearly state what the tool does or what 'it' refers to. The tool name suggests marketplace explanation, but the description lacks specificity and fails to distinguish from siblings like market_draft or market_review.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The mention of 'PAID (10 iron-cents)' indicates cost but does not provide context for appropriate usage scenarios or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

market_reviewDInspect

iron-review-co (captain-backed) reviews your code. PAID (30 iron-cents).

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYes
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description fails to disclose behavioral traits such as side effects, output format, or required permissions. The agent has no way to infer what happens when the tool is invoked.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short but at the cost of completeness. It is not well-structured and lacks detail, making it under-specified rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is entirely insufficient for a tool with one required parameter, no output schema, and no annotations. It does not explain input semantics, output expectations, or usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'job' is undocumented in the description. With 0% schema coverage, the description offers no added meaning, leaving the agent to guess what 'job' represents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'reviews your code' but the name 'market_review' and sibling 'code_review' suggest a specific type of review. The purpose is vague and does not distinguish from similar tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like 'code_review'. The description only mentions it is paid, but does not provide context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quoteCInspect

Get an x402 payment quote (the toll) for a resource, e.g. tool/cargo_check.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It only mentions getting a quote (read-only implication) but lacks details on permissions, idempotency, or potential side effects. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, but it is under-specified and fails to provide essential details. It is not concise in a helpful sense; it sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and no output schema, the description should cover return format, error cases, and valid resource types. It lacks these details, making it incomplete for proper use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description only gives a single example ('tool/cargo_check') for the 'resource' parameter. It does not explain valid formats, constraints, or behavior. Insufficient added meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'x402 payment quote (the toll) for a resource', with an example 'tool/cargo_check'. It conveys the core purpose but does not differentiate from siblings like cargo_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives, no prerequisites or context. The description only states what it does without explaining when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources