{"name":"io.github.iabdullahm/rafid-agent-api","slug":"iabdullahm-rafid-agent-api","title":"Rafid Property Intelligence","description":"Oman property intelligence for AI agents: yield, comparables, Al Mouj sales data, x402 pay-per-call.","url":"https://mcp.market/server/iabdullahm-rafid-agent-api","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"sales","tags":["sales","ai"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-22T08:19:51.000Z","license":null},"uptime":{"percent":100,"checks":4,"ok":4,"last_checked_at":"2026-09-23T05:21:08.838Z","last_ok_at":"2026-09-23T05:21:08.838Z","latency_ms":2350},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/iabdullahm/rafid-agent-api","website":"https://api.rafidsystem.com","version":"0.1.0","remotes":[{"type":"streamable-http","url":"https://api.rafidsystem.com/mcp"}],"packages":[],"tools":[{"name":"analyze_oman_company","description":"Generate deterministic commercial-intelligence signals, risk flags and positive signals for one Oman company by companyId, for a stated evaluation purpose. Use when an agent needs to assess whether an Oman company looks like a serious, established operating business — as a supplier, customer, partner or investment target.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"companyId":{"type":"string","minLength":1,"maxLength":120},"purpose":{"type":"string","enum":["general","supplier","customer","partner","investor"]}},"required":["companyId","purpose"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"analyze_oman_property","description":"Analyze an Oman residential property using local rental comparables, market context and investment metrics. Use when an agent needs Oman-specific rental, yield, price-position or operating-cost analysis.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"governorate":{"type":"string","minLength":1,"maxLength":60},"wilayat":{"type":"string","minLength":1,"maxLength":60},"area":{"type":"string","minLength":1,"maxLength":80},"propertyType":{"type":"string","enum":["apartment","villa","townhouse"]},"bedrooms":{"type":"integer","minimum":0,"maximum":20},"bathrooms":{"type":"integer","minimum":0,"maximum":20},"sizeSqm":{"type":"number","minimum":10,"maximum":5000},"askingPriceOMR":{"type":"number","minimum":1000,"maximum":1000000000},"furnished":{"type":"string","enum":["furnished","semi_furnished","unfurnished"]},"optionalAnnualServiceChargeOMR":{"type":"number","minimum":0,"maximum":1000000000},"optionalAnnualMaintenanceOMR":{"type":"number","minimum":0,"maximum":1000000000}},"required":["governorate","area","propertyType","sizeSqm","askingPriceOMR"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"analyze_property","description":"Calculate gross/net rental yield, income, operating costs and simple payback in OMR. Calculations only. Use when an agent needs financial metrics (yield, income, payback) for a single property.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyValue":{"type":"number","minimum":0.01,"maximum":1000000000000},"annualRent":{"type":"number","minimum":0,"maximum":1000000000000},"serviceCharge":{"type":"number","minimum":0,"maximum":1000000000000},"maintenanceCost":{"type":"number","minimum":0,"maximum":1000000000000},"maintenance":{"description":"Legacy alias for maintenanceCost; supply only one","type":"number","minimum":0,"maximum":1000000000000},"vacancyRatePct":{"type":"number","minimum":0,"maximum":100},"otherAnnualCosts":{"type":"number","minimum":0,"maximum":1000000000000}},"required":["propertyValue","annualRent"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"compare_properties","description":"Compare 2–20 uniquely named properties in OMR using the same metrics; order by rounded net yield, preserving input order for ties. Use when an agent must rank or choose between 2-20 candidate properties by net yield.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"properties":{"minItems":2,"maxItems":20,"type":"array","items":{"type":"object","properties":{"propertyValue":{"type":"number","minimum":0.01,"maximum":1000000000000},"annualRent":{"type":"number","minimum":0,"maximum":1000000000000},"serviceCharge":{"type":"number","minimum":0,"maximum":1000000000000},"maintenanceCost":{"type":"number","minimum":0,"maximum":1000000000000},"maintenance":{"description":"Legacy alias for maintenanceCost; supply only one","type":"number","minimum":0,"maximum":1000000000000},"vacancyRatePct":{"type":"number","minimum":0,"maximum":100},"otherAnnualCosts":{"type":"number","minimum":0,"maximum":1000000000000},"name":{"type":"string","minLength":1,"maxLength":120}},"required":["propertyValue","annualRent","name"],"additionalProperties":false}}},"required":["properties"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"due_diligence_oman_company","description":"Perform structured commercial due diligence on one Oman company by companyId ahead of a stated transaction, returning identity verification, risk assessment, a prioritized due-diligence checklist and known information gaps. Use before awarding a contract, entering a partnership, extending credit or investing, when a structured, source-backed due-diligence pass is needed ahead of the decision.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"companyId":{"type":"string","minLength":1,"maxLength":120},"transactionType":{"type":"string","enum":["supplier_contract","partnership","investment","customer_credit","other"]},"transactionValueOMR":{"type":"number","minimum":0,"maximum":1000000000}},"required":["companyId","transactionType"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"estimate_maintenance","description":"Estimate an annual maintenance reserve in OMR from value, age and unit count with explicit optional assumptions. Uncalibrated heuristic, not a survey. Use when an agent needs an annual maintenance reserve estimate for a property, not an actual inspection.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyValue":{"type":"number","minimum":0.01,"maximum":1000000000000},"ageYears":{"type":"number","minimum":0,"maximum":200},"units":{"type":"integer","minimum":1,"maximum":10000},"annualRent":{"description":"Legacy input; unused in this value-based estimate","type":"number","minimum":0,"maximum":1000000000000},"assumptions":{"type":"object","properties":{"annualRatePct":{"type":"number","minimum":0,"maximum":100},"additionalUnitCost":{"type":"number","minimum":0,"maximum":1000000000000}},"additionalProperties":false}},"required":["propertyValue"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"get_oman_company_profile","description":"Return a structured profile for one Oman company by companyId — identity, registration, location and contact fields, digital-presence detection and full source provenance. Use after search_oman_company resolves a companyId, to retrieve the company's structured profile before deciding whether deeper analysis or due diligence is warranted.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"companyId":{"type":"string","minLength":1,"maxLength":120}},"required":["companyId"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"search_oman_company","description":"Search structured Oman business records by name, registration number, governorate, wilayat and/or industry, returning candidate companies ranked by deterministic identity-match confidence. Use before company analysis or due diligence when the exact company identity is uncertain, or to find candidate Oman companies matching a name or registration number.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"governorate":{"type":"string","minLength":1,"maxLength":60},"wilayat":{"type":"string","minLength":1,"maxLength":60},"industry":{"type":"string","minLength":1,"maxLength":120},"limit":{"type":"integer","minimum":1,"maximum":50}},"required":["query"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}}],"scan":{"score":91,"grade":"A","scanned_at":"2026-09-22T11:50:08.871Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-22T11:50:08.823Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1915ms"]},"poisoning":{"score":15,"max":15,"notes":["8 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://api.rafidsystem.com/mcp","reachable":true,"authRequired":false,"latencyMs":1915,"serverInfo":{"name":"rafid-agent-api","version":"0.1.0"}}],"packages":[],"repo":{"found":true,"owner":"iabdullahm","repo":"rafid-agent-api","archived":false,"pushedAt":"2026-09-22T08:19:51Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/26213387?v=4","ownerCreatedAt":"2017-03-06T04:27:21Z"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":null,"lastPushAt":"2026-09-22T08:19:51.000Z","score":23}}}},"grade_history":[],"reviews":[]}