Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Use Ragora MCP tools and REST API to discover, search, and synthesize answers from knowledge bases. Trigger when the user asks for grounded answers from Ragora collections, cross-collection comparison, source-backed summaries, due diligence research, or verification using marketplace data. --- name: ragora description: Use Ragora MCP tools and REST API to discover, search, and synthesize answers from knowledge bases. Trigger when the user asks for grounded answers from Ragora collections, cross-collection comparison, source-backed summaries, due diligence research, or verification using marketplace data. metadata: {"openclaw": {"emoji": "๐", "homepage": "https://github.com/velarynai/ragora-openclaw", Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
ragora is best for mcp, the workflows where MCP and OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Use Ragora MCP tools and REST API to discover, search, and synthesize answers from knowledge bases. Trigger when the user asks for grounded answers from Ragora collections, cross-collection comparison, source-backed summaries, due diligence research, or verification using marketplace data. --- name: ragora description: Use Ragora MCP tools and REST API to discover, search, and synthesize answers from knowledge bases. Trigger when the user asks for grounded answers from Ragora collections, cross-collection comparison, source-backed summaries, due diligence research, or verification using marketplace data. metadata: {"openclaw": {"emoji": "๐", "homepage": "https://github.com/velarynai/ragora-openclaw",
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP, OpenClaw
Freshness
Feb 25, 2026
Vendor
Velarynai
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/velarynai/ragora-openclaw.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Velarynai
Protocol compatibility
MCP, OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
yaml
name: ragora
type: http
url: https://mcp.ragora.app/mcp
headers:
Authorization: Bearer ${RAGORA_API_KEY}json
{
"mcpServers": {
"ragora": {
"type": "http",
"url": "https://mcp.ragora.app/mcp",
"headers": {
"Authorization": "Bearer ${RAGORA_API_KEY}"
}
}
}
}bash
curl -s https://mcp.ragora.app/health
bash
curl -s https://mcp.ragora.app/health
bash
curl -s https://api.ragora.app/v1/health
bash
curl -s https://api.ragora.app/v1/health
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Use Ragora MCP tools and REST API to discover, search, and synthesize answers from knowledge bases. Trigger when the user asks for grounded answers from Ragora collections, cross-collection comparison, source-backed summaries, due diligence research, or verification using marketplace data. --- name: ragora description: Use Ragora MCP tools and REST API to discover, search, and synthesize answers from knowledge bases. Trigger when the user asks for grounded answers from Ragora collections, cross-collection comparison, source-backed summaries, due diligence research, or verification using marketplace data. metadata: {"openclaw": {"emoji": "๐", "homepage": "https://github.com/velarynai/ragora-openclaw",
Use this skill to answer questions with Ragora data. You have two integration paths:
Both paths share the same authentication, data model, and search capabilities.
Consult these docs first when behavior differs across environments:
https://ragora.app/docs?section=mcp-guidehttps://ragora.app/docs?section=getting-startedhttps://ragora.app/docs?section=api-overviewhttps://ragora.app/docs?section=api-retrievehttps://ragora.app/docs?section=api-errorshttps://ragora.app/docs?section=api-billingBefore using any tools, understand the Ragora data model.
A collection is a knowledge base โ a curated set of documents indexed for semantic search. Each collection has:
employee_handbook).Each collection contains documents (files, pages, articles). Documents are split into chunks โ small passages optimized for semantic retrieval. When you search, results are returned at the chunk level with metadata pointing back to the source document.
Some collections support versioned documentation (e.g., API docs v1.0, v2.0). Use list_versions_{slug}() or the API to discover available versions, then pass a version parameter to scope your search.
Collections may support:
["legal", "msa", "2024"]). Pass as custom_tags to narrow results.{"region": "US", "department": "engineering"}). Pass as filters to constrain results.check_balance() or GET /v1/billing/balance.https://app.ragora.app/settings/billing.All requests (MCP and REST) require a Ragora API key.
sk_live_<uuid> (e.g., sk_live_a1b2c3d4-e5f6-7890-abcd-ef1234567890)https://app.ragora.app/settings/api-keyssk_live_****....https://mcp.ragora.app/mcpAuthorization: Bearer <RAGORA_API_KEY>OpenClaw config (YAML):
name: ragora
type: http
url: https://mcp.ragora.app/mcp
headers:
Authorization: Bearer ${RAGORA_API_KEY}
Claude Desktop / Cursor / VS Code config (JSON):
{
"mcpServers": {
"ragora": {
"type": "http",
"url": "https://mcp.ragora.app/mcp",
"headers": {
"Authorization": "Bearer ${RAGORA_API_KEY}"
}
}
}
}
Security note: Set
RAGORA_API_KEYas an environment variable in your OS or secret manager. Never hardcode the rawsk_live_*value in config files that may be committed to version control.
https://api.ragora.app/v1Authorization: Bearer <RAGORA_API_KEY>application/json for all POST/PUT requests.curl -s https://mcp.ragora.app/health
Call discover_collections(). If it returns collections, you're connected.
If empty โ user may need to access a knowledge base: https://ragora.app/marketplace
If credits are low โ call check_balance() and tell user to top up at https://app.ragora.app/settings/billing.
curl -s https://api.ragora.app/v1/health
curl https://api.ragora.app/v1/collections \
-H "Authorization: Bearer <RAGORA_API_KEY>"
401 or 403, the API key is invalid or expired. Ask the user to generate a new one.discover_collections() (MCP) or GET /v1/collections (API) before targeted retrieval, unless the user explicitly names a known collection.| Tool | Parameters | Description |
|------|-----------|-------------|
| discover_collections() | none | List all accessible knowledge bases with descriptions, stats, available operations, and usage examples. |
| search(query, top_k?) | query (required), top_k (1-20, default 5) | Search across ALL accessible collections at once. |
| search_collection(collection_name, query, top_k?, custom_tags?, filters?) | collection_name (required), query (required), top_k (1-20, default 5), custom_tags (list of strings), filters (object) | Search a specific collection by name or slug. |
| check_balance() | none | Credits remaining and estimated USD value. |
The Gateway generates these tools for each collection you have access to. The {slug} is the collection's URL-safe name (e.g., employee_handbook, k8s_troubleshooting).
| Tool | Parameters | Description |
|------|-----------|-------------|
| search_{slug}(query, top_k?, version?, custom_tags?, filters?) | query (required), top_k (1-20, default 5), version (optional string), custom_tags (list of strings), filters (object) | Semantic search within the collection. |
| get_topic_{slug}(topic) | topic (required string) | Retrieve information about a specific topic from the collection. |
| list_versions_{slug}() | none | List all available documentation versions for the collection. |
| URI | Description |
|-----|-------------|
| ragora://collections | Lists all accessible collections with metadata, stats, and available operations. |
| Prompt | Parameters | Description |
|--------|-----------|-------------|
| search_collection_prompt | collection_name, query | Pre-built prompt for searching a specific collection. |
| summarize_collection | collection_name | Pre-built prompt for summarizing an entire collection. |
| compare_sources | collection_names, question | Pre-built prompt for comparing information across multiple collections. |
Use these endpoints when MCP tool binding is unavailable, or when you need direct HTTP control.
All endpoints require: Authorization: Bearer <RAGORA_API_KEY>
GET https://api.ragora.app/v1/health
Response: 200 OK with {"status": "ok"} if the service is up.
GET https://api.ragora.app/v1/collections
Returns all collections accessible to the authenticated user.
Response:
{
"collections": [
{
"name": "Employee Handbook",
"slug": "employee_handbook",
"description": "Company policies, benefits, and procedures",
"stats": {
"document_count": 45,
"chunk_count": 1230,
"last_updated": "2025-11-15T08:30:00Z"
},
"supported_features": ["search", "get_topic", "versions", "filters"]
}
]
}
POST https://api.ragora.app/v1/search
Request:
{
"query": "vacation policy for remote employees",
"top_k": 5
}
Response:
{
"results": [
{
"content": "Remote employees are entitled to 20 days of paid vacation per year...",
"score": 0.94,
"source": {
"collection": "employee_handbook",
"document": "benefits-guide.md",
"chunk_id": "ch_abc123"
},
"metadata": {}
}
],
"usage": {
"cost_usd": 0.0,
"balance_remaining_usd": 99.95
}
}
POST https://api.ragora.app/v1/collections/{slug}/search
Request:
{
"query": "log retention duration and deletion policy",
"top_k": 5,
"version": "2.0",
"custom_tags": ["compliance", "soc2"],
"filters": {
"region": "US"
}
}
Response: same structure as global search, but scoped to the named collection.
POST https://api.ragora.app/v1/collections/{slug}/topic
Request:
{
"topic": "remote work policy"
}
Response:
{
"content": "Detailed information about the remote work policy...",
"source": {
"collection": "employee_handbook",
"document": "remote-work.md"
},
"usage": {
"cost_usd": 0.0,
"balance_remaining_usd": 99.95
}
}
GET https://api.ragora.app/v1/collections/{slug}/versions
Response:
{
"versions": [
{"version": "2.0", "label": "v2.0 (latest)", "is_default": true},
{"version": "1.5", "label": "v1.5", "is_default": false},
{"version": "1.0", "label": "v1.0 (legacy)", "is_default": false}
]
}
GET https://api.ragora.app/v1/billing/balance
Response:
{
"credits_remaining": 9950,
"estimated_usd": 99.50,
"currency": "USD"
}
If you need to call MCP tools via REST (e.g., dynamic tools like search_employee_handbook):
Get manifest โ lists all available MCP tools for your account:
GET https://api.ragora.app/v1/mcp/manifest
Execute a tool โ call any MCP tool by name:
POST https://api.ragora.app/v1/mcp/execute
Request:
{
"tool": "search_employee_handbook",
"arguments": {
"query": "vacation policy",
"top_k": 5
}
}
Response:
{
"content": [
{
"type": "text",
"text": "Found 5 results:\n\n1. **Vacation Policy** (score: 0.95)\n Remote employees are entitled to...\n Source: benefits-guide.md"
}
],
"usage": {
"cost_usd": 0.0,
"balance_remaining_usd": 99.95
}
}
| Status | Meaning | Agent action |
|--------|---------|--------------|
| 200 | Success | Process results normally. |
| 400 | Bad request โ malformed query, missing required param | Check request format. Fix the query and retry. |
| 401 | Unauthorized โ missing or invalid API key | Stop. Ask the user to provide a valid sk_live_ key. |
| 403 | Forbidden โ key is valid but lacks access to this collection | Inform user they need to purchase/subscribe to this collection at the marketplace. |
| 404 | Not found โ collection slug or endpoint doesn't exist | Check the slug with discover_collections() or GET /v1/collections. |
| 422 | Validation error โ params are present but invalid (e.g., top_k=50) | Read the error message, fix the parameter, and retry. |
| 429 | Rate limited โ too many requests | Wait and retry with exponential backoff (see Rate Limiting below). |
| 402 | Payment required โ insufficient credits | Call check_balance(). Tell user to top up at billing page. |
| 500 | Server error | Retry once after 2 seconds. If it persists, inform user of a temporary service issue. |
| 503 | Service unavailable | Retry once after 5 seconds. If it persists, inform user. |
{
"error": {
"code": "insufficient_credits",
"message": "Your balance is too low to complete this search. Current balance: $0.05.",
"details": {}
}
}
| Code | Description | Agent action |
|------|-------------|--------------|
| invalid_api_key | Key format wrong or key revoked | Ask user for a new key. |
| expired_api_key | Key has expired | Ask user to generate a new key at dashboard. |
| insufficient_credits | Not enough credits for this retrieval | Report balance and link to billing. |
| collection_not_found | Slug doesn't match any collection | Re-run discovery, check spelling. |
| collection_access_denied | User hasn't purchased access | Link user to the marketplace. |
| rate_limit_exceeded | Too many requests in window | Back off and retry. |
| invalid_query | Query is empty or too long | Fix and retry with a shorter, clearer query. |
| version_not_found | Requested version doesn't exist | Call list_versions_{slug}() to see valid versions. |
X-RateLimit-Limit โ max requests in the window.X-RateLimit-Remaining โ requests left in the current window.X-RateLimit-Reset โ Unix timestamp when the window resets.When you receive a 429 response:
Retry-After header (seconds to wait) if present.Retry-After, use exponential backoff: wait 1s, then 2s, then 4s.401 or 403 โ these require user action, not waiting.top_k=10-15 instead of making multiple top_k=3 calls for the same question.discover_collections() results within a session โ collection lists rarely change mid-conversation.| Symptom | Likely cause | Fix |
|---------|-------------|-----|
| 401 Unauthorized on every call | Missing or malformed Authorization header | Ensure header is exactly Authorization: Bearer sk_live_xxxxx. No extra spaces, no quotes around the token. |
| 401 but key looks correct | Key was revoked or regenerated | Ask user to check active keys at https://app.ragora.app/settings/api-keys. |
| 401 with invalid_api_key code | Key format is wrong (e.g., missing sk_live_ prefix) | Verify format: must start with sk_live_ followed by a UUID. |
| 401 with expired_api_key code | Key has an expiration and it passed | Generate a new key from the dashboard. |
| 403 Forbidden | Key is valid but doesn't have access to the requested collection | User needs to purchase or subscribe to the collection. |
| MCP tools not appearing | MCP server not configured or wrong URL | Verify MCP URL is https://mcp.ragora.app/mcp and header is set. Run health check. |
| MCP tools appear but return errors | Key in MCP config is a placeholder | Replace sk_live_xxx with the actual key. |
| ECONNREFUSED or timeout | Network issue or service outage | Check https://mcp.ragora.app/health. If down, fall back to REST API or wait. |
discover_collections() (MCP) or GET /v1/collections (API).top_k based on task:
top_k=3-5 for direct factual questions.top_k=8-12 for comparisons or comprehensive summaries.top_k=15-20 for exhaustive research or due diligence.Scenario: User asks "What is our data retention policy and how does it compare to SOC 2 requirements?"
discover_collections() โ find security_handbook, compliance_docs, soc2_guidesearch_collection("security_handbook", "data retention policy duration", top_k=5)search_collection("compliance_docs", "SOC 2 data retention requirements", top_k=5)search_collection("soc2_guide", "retention controls audit evidence", top_k=5)Scenario: User asks "Compare the SLA terms between Vendor A and Vendor B."
discover_collections() โ find vendor_a_contract, vendor_b_contractsearch_collection("vendor_a_contract", "SLA uptime guarantees penalties", top_k=8)search_collection("vendor_b_contract", "SLA uptime guarantees penalties", top_k=8)search_collection("vendor_a_contract", "termination notice period remedies", top_k=5)search_collection("vendor_b_contract", "termination notice period remedies", top_k=5)Scenario: User asks "Summarize everything we know about Company X's security posture."
search("Company X security audit penetration test vulnerability", top_k=15) โ broad discovery pass.due_diligence_reports, vendor_assessments).search_collection("due_diligence_reports", "Company X SOC 2 ISO 27001 certifications", top_k=10)search_collection("vendor_assessments", "Company X data encryption access controls", top_k=10)search_collection("due_diligence_reports", "Company X incident history breach", top_k=5)Scenario: User asks "What changed in the authentication flow between API v1 and v2?"
list_versions_api_docs() โ returns ["1.0", "2.0"]search_api_docs(query="authentication flow token exchange", version="1.0", top_k=5)search_api_docs(query="authentication flow token exchange", version="2.0", top_k=5)Scenario: MCP binding is unavailable. User asks "Find our vacation policy."
curl -s https://api.ragora.app/v1/health
curl https://api.ragora.app/v1/collections \
-H "Authorization: Bearer $RAGORA_API_KEY"
curl -X POST https://api.ragora.app/v1/collections/employee_handbook/search \
-H "Authorization: Bearer $RAGORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "vacation policy paid time off", "top_k": 5}'
results array, extract content and source fields, and compose the answer.Use short, specific queries. Prefer multiple passes over one monolithic query.
| Task | Query pattern | Example |
|------|--------------|---------|
| Factual lookup | "<entity> <metric/attribute> <time period>" | "ACME Corp revenue 2024 Q3" |
| Policy/requirements | "<policy type> eligibility criteria exceptions" | "parental leave eligibility criteria exceptions" |
| Comparison | Run same query across each collection | "pricing limits SLA exclusions" ร 2 collections |
| Validation | First "<claim>", then "counterexample exception to <claim>" | "all employees get 20 vacation days" then "exceptions to vacation day policy" |
| Extraction | "<entity> <specific data point>" | "ACME Corp CEO contact information" |
| Timeline | "<entity> <event type> chronological" | "product launches timeline 2023 2024" |
"data retention policy" โ see what's available."customer data retention policy" โ scope to a specific domain."customer data retention duration deletion schedule" โ get specifics.filters and custom_tags if results are noisy.MCP:
discover_collections()
API:
curl https://api.ragora.app/v1/collections \
-H "Authorization: Bearer $RAGORA_API_KEY"
MCP:
search(query="SOC 2 retention policy for customer logs", top_k=8)
API:
curl -X POST https://api.ragora.app/v1/search \
-H "Authorization: Bearer $RAGORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "SOC 2 retention policy for customer logs", "top_k": 8}'
MCP:
search_collection(
collection_name="security-handbook",
query="log retention duration and deletion policy",
top_k=5
)
API:
curl -X POST https://api.ragora.app/v1/collections/security_handbook/search \
-H "Authorization: Bearer $RAGORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "log retention duration and deletion policy", "top_k": 5}'
MCP:
search_api_docs(
query="authentication flow changes",
version="2.0",
top_k=5
)
API:
curl -X POST https://api.ragora.app/v1/collections/api_docs/search \
-H "Authorization: Bearer $RAGORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "authentication flow changes", "version": "2.0", "top_k": 5}'
MCP:
get_topic_employee_handbook(topic="remote work policy")
API:
curl -X POST https://api.ragora.app/v1/collections/employee_handbook/topic \
-H "Authorization: Bearer $RAGORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"topic": "remote work policy"}'
MCP:
search_collection(
collection_name="contracts",
query="termination for convenience notice period",
top_k=10,
custom_tags=["msa", "legal"],
filters={"region": "US"}
)
API:
curl -X POST https://api.ragora.app/v1/collections/contracts/search \
-H "Authorization: Bearer $RAGORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "termination for convenience notice period", "top_k": 10, "custom_tags": ["msa", "legal"], "filters": {"region": "US"}}'
MCP:
check_balance()
API:
curl https://api.ragora.app/v1/billing/balance \
-H "Authorization: Bearer $RAGORA_API_KEY"
MCP prompt:
compare_sources(
collection_names=["vendor-a-docs", "vendor-b-docs"],
question="What are the SLA differences?"
)
API (manual โ run two searches and compare):
# Search vendor A
curl -X POST https://api.ragora.app/v1/collections/vendor_a_docs/search \
-H "Authorization: Bearer $RAGORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "SLA uptime guarantees penalties", "top_k": 8}'
# Search vendor B
curl -X POST https://api.ragora.app/v1/collections/vendor_b_docs/search \
-H "Authorization: Bearer $RAGORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "SLA uptime guarantees penalties", "top_k": 8}'
top_k| Scenario | Recommended top_k | Rationale |
|----------|---------------------|-----------|
| Simple factual question | 3-5 | Few precise results keep context small. |
| Multi-facet question | 5-8 | Need coverage across sub-topics. |
| Comparison across collections | 8-12 per collection | Need enough evidence from each side. |
| Exhaustive research / due diligence | 15-20 | Comprehensive coverage at the cost of more context. |
| Quick validation of a claim | 2-3 | Just need to confirm or deny. |
search_collection() returns fewer, more relevant results than search().top_k=5. Read results. Second pass: specific follow-up queries targeting gaps.If a single query returns more text than is useful:
top_k to 3.custom_tags or filters to narrow scope.If a query returns no results or irrelevant results:
search() instead of collection-specific.discover_collections().**Answer**: <2-6 sentence direct answer>
**Evidence**:
- <claim> โ *<collection_name> / <source_document>*
- <claim> โ *<collection_name> / <source_document>*
- <claim> โ *<collection_name> / <source_document>*
**Caveats**:
- <what is missing, uncertain, or conflicting>
**Suggested follow-ups** (if applicable):
- <exact query the user could ask next>
โ *Collection Name / document-name.md*When comparing across collections, use a table:
| Aspect | Vendor A | Vendor B |
|--------|----------|----------|
| Uptime SLA | 99.9% | 99.95% |
| Penalty | 5% credit per hour | 10% credit per hour |
| Notice period | 30 days | 60 days |
*Sources: vendor_a_contract/sla.md, vendor_b_contract/sla.md*
| Failure | Agent action |
|---------|-------------|
| No results | Broaden wording, remove overly specific constraints, retry with search(). If still empty, inform user. |
| Too many noisy results | Constrain by collection, add custom_tags/filters, use narrower entity/date terms. |
| Conflicting evidence | Present both sides, note the conflict, cite both sources, and propose a follow-up query to resolve. |
| Access denied (403) | Explain that collection access may need to be purchased. Link to marketplace. |
| Credit errors (402) | Run check_balance(), report the balance, and link to billing page. |
| Rate limited (429) | Wait per Retry-After header or use exponential backoff. Max 3 retries. |
| Server error (500/503) | Retry once after 2-5 seconds. If it persists, inform user of a temporary issue. |
| MCP connection failure | Fall back to REST API endpoints. Inform user of the switch. |
| Timeout | Reduce top_k, simplify the query, and retry. |
| Invalid collection slug | Re-run discover_collections() and check available slugs. |
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/snapshot"
curl -s "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/contract"
curl -s "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP",
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-17T03:14:24.002Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "the",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile protocol:OPENCLEW|unknown|profile capability:mcp|supported|profile capability:the|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Velarynai",
"href": "https://github.com/velarynai/ragora-openclaw",
"sourceUrl": "https://github.com/velarynai/ragora-openclaw",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:24:19.626Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP, OpenClaw",
"href": "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T02:24:19.626Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/velarynai-ragora-openclaw/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to ragora and adjacent AI workflows.