About sifa-mcp
sifa-mcp is an MCP server for portable skills and reputation profiles for informal-sector workers. It records work history and can generate references, but profiles are in memory, unverified, and not persisted, so the project is a demo.
Key features
- 01Create worker profiles with skills, location, and experience
- 02Log completed jobs and client ratings
- 03Retrieve reputation profiles and trust scores
- 04Generate professional reference letters
- 05Browse NITA-aligned skill categories
- 06Compare workers by trust score and skill match
Use cases
- 01Organize a worker's skills and work history
- 02Record completed jobs and client feedback
- 03Prepare references for job applications or contracts
- 04Compare worker candidates by skill match
MCP support
As an MCP server, it exposes tools to create profiles, log service records, retrieve reputation, generate references, browse skill categories, and compare workers. Profiles are kept in memory and are neither verified nor persisted.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
6Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| phone | string | Yes | M-PESA phone number (used as identity anchor, not stored in plain text) |
| location | string | Yes | Current base location (town or county) |
| full_name | string | Yes | Worker's full name |
| languages | string | No | Languages spoken (e.g., 'Swahili,English,Kikuyu') |
| sub_skills | string | Yes | Comma-separated list of specific skills (e.g., 'masonry,tiling,plastering') |
| primary_skill | string | Yes | Primary skill category (see skill_categories tool) |
| years_experience | integer | Yes | Years of experience in primary skill (0-40) |
Details
From the project README⭐ sifa-mcp — Portable Reputation & Skills Passport MCP Server
Install: pip install sifa-mcp · Use with any MCP client.
Sifa = reputation/praise in Swahili.
Informal-sector workers build reputation with one buyer, one platform, one neighborhood at a time — and lose it the moment they switch. Nothing makes that reputation portable or agent-queryable.
The Structural Problem
In mature economies, reputation travels: Uber driver ratings, Yelp reviews, LinkedIn endorsements, contractor licence registries. A skilled plumber in Chicago can prove her track record to any homeowner in Los Angeles.
In Kenya, trust is tribal and local. A qualified mason in Mombasa cannot take her reputation to Nairobi. Economic mobility is throttled by the non-portability of professional identity.
Reputation portability is a coordination technology. Without it, hiring defaults to personal networks, which excludes the most talented people outside existing networks.
Tools
| Tool | What it does |
|---|---|
create_worker_profile | Create a portable reputation profile with skills, location, experience |
add_service_record | Log a completed job with client details and rating |
get_reputation_profile | Retrieve full profile with trust score for any requester type |
generate_reference | Generate a formatted professional reference letter |
list_skill_categories | Browse all NITA-aligned skill categories |
compare_workers | Rank multiple workers by trust score and skill match |
Trust Score
Scored 0–100 across four signals:
- Job volume (up to 30 pts) — number of completed jobs
- Average quality (up to 35 pts) — client star ratings
- Verified records (up to 20 pts) — client-OTP-confirmed completions
- Tenure (up to 15 pts) — years of documented history
Tiers: NEW → BUILDING → ESTABLISHED → TRUSTED
Quick Start
pip install sifa-mcp # coming soon to PyPI
sifa-mcp # starts on stdio
Example
# Create a mason's portable profile
create_worker_profile(
full_name="James Mwangi",
phone="0712345678",
primary_skill="construction",
sub_skills="masonry,tiling,plastering",
location="Nairobi",
years_experience=8
)
# → SFA-A3F2B19C4E1D
# Log a completed job
add_service_record(
profile_id="SFA-A3F2B19C4E1D",
client_name="ABC Contractors",
client_phone="0722000000",
service_type="Kitchen tiling",
duration_days=5,
payment_kes=15000,
client_rating=5
)
# Generate a reference for a new job application
generate_reference(profile_id="SFA-A3F2B19C4E1D", reference_purpose="job_application")
Research Basis
- IFC "The Value of Reputation" (2020)
- ILO Skills Recognition Framework (2023)
- World Bank "Mobile-Based Reputation Systems" (2021)
- Kenya NITA (National Industrial Training Authority) trade classifications
⚠️ DEMO — Production requires Huduma Number / NIIMS integration for identity verification.
© 2026 Gabriel Mahia / AI Kung Fu LLC · MIT License
Part of the East Africa Coordination Stack
This MCP server is part of the Kenya coordination infrastructure.
Connect it to africa-coord-bus —
the coordination event bus that routes signals between domains automatically.
pip install africa-coord-bus
All servers: pypi.org/user/gmahia Live demo: coord-cascade-demo
IP & Collaboration
MIT licensed. Feedback via GitHub Issues only — pull requests are not accepted. Demo data is labeled DEMO and is not suitable for operational decisions. Full policy: docs/architecture/IP_POLICY.md. Security reports: see SECURITY.md.
Part of the East Africa coordination stack
- Install & run:
pip install reli-cli && reli list— the MCP servers on the official MCP Registry underio.github.gabrielmahia - Evaluate any model on Swahili agent tasks: kipimo · dataset · leaderboard
- Coordinate across servers: africa-coord-bus — offline-first event bus with a built-in Kenya routing table
- Datasets: huggingface.co/gmahia · Docs hub: nairobi-stack
Model-agnostic by design: closed APIs, open-weight models, and small distilled models are all first-class citizens.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.