PersonalKnowHow MCP
A community-driven MCP server that transforms personal data like LinkedIn exports into a queryable knowledge graph. It allows AI agents to verify skills and experience against real evidence such as GitHub commits and course completions, enabling accurate CV tailoring and job matching without relying on static text claims.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcpWhat its tools do
4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Verify specific technical skills against real project history
- Tailor CV bullets to match job postings using evidence
- Check candidate fit against job requirements
- Query learning and work history as a knowledge graph
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- personalknowhow-demo 0.2.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
4 advertised
query_knowhow — Query know-how
Search this person's real, grounded skills/experience graph for a topic using semantic search. Returns only entries with real evidence -- never guesses. Every entry here represents something actually done or completed (project, certification, position, course, or education) -- this public dataset never includes saved-but-not-worked jobs or applications. This is SEMANTIC search ranked by relevance and capped at 10 results -- it is NOT exhaustive. For 'list every X' or 'how many X' questions, use list_by_type instead -- it returns the complete, uncapped set with no similarity ranking involved. Clearing the similarity floor means 'closest available match', not 'confirmed match' -- read each result's actual label/description/type before citing it as evidence for the specific topic queried. Each result also carries source_url/captured_at/provider (the real evidence behind it, when available) and source_note (explaining why not, when the underlying source has no link) -- use these to answer a disputed claim with actual backing evidence rather than just the description text. Embeddings can rank a topically-adjacent-but-wrong entry above the floor (e.g. a course on a different cloud data-warehouse tool, or a different framework in the same category) for a term it isn't actually about; if a result isn't genuinely on topic, treat the query as unmatched rather than reporting it as a match. For 'what else is connected to this' or 'what shares a skill/provider with this specific entry' questions, call related_entries with a result's id instead of re-querying by topic.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"topic"
],
"properties": {
"topic": {
"type": "string",
"description": "A skill, technology, or topic to check, e.g. 'django' or 'aws'"
}
}
}{
"readOnlyHint": true
}list_by_type — List know-how by type
Returns the COMPLETE, exact set of entries for one type, with no similarity ranking, no relevance cutoff, and no cap on count. Use this instead of query_knowhow whenever the question requires an exhaustive or countable answer ('list all my certifications', 'how many courses have I completed'). Deterministic ordering (sorted by label) -- repeated calls with the same type return the same list in the same order.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"course",
"project",
"certification",
"education",
"endorsement",
"position",
"profile",
"recommendation",
"article",
"organization",
"language",
"honor",
"publication",
"patent",
"volunteering",
"test_score",
"skill_assessment"
],
"type": "string",
"description": "Exact entry type to list in full"
}
}
}{
"readOnlyHint": true
}related_entries — Find related entries
Given an entry id (from a prior query_knowhow or list_by_type result), returns other entries that share at least one tag or the same content provider -- the only two relationships this corpus currently tracks (there is no 'led to' or 'used in' relationship here, only shared tag/provider). This is NOT a similarity or relevance judgment -- two entries sharing a broad tag (e.g. both tagged 'data-science') can be quite different in substance; read each related entry's own label/type before treating it as meaningful. Each group is capped at 15 entries, sorted by label, with the true total count shown separately so you know if results were truncated -- call list_by_type on that type if you need the full set. Useful for 'what else is connected to X' or 'what did they do that relates to this specific course/certification/endorsement' -- questions query_knowhow's independent similarity search can't reliably answer, since two entries can be genuinely related without their description text reading alike (e.g. a course title and an endorsement phrase for the same skill, worded completely differently).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "An entry id from a prior query_knowhow or list_by_type result"
}
}
}{
"readOnlyHint": true
}skill_evidence — Find skill evidence
Given an exact tag/skill (e.g. 'docker', 'gcp'), returns EVERY entry with that tag, uncapped, grouped by type with a real count per type. Unlike related_entries (capped at 15, requires a starting entry id) or query_knowhow (semantic, ranked, may over- or under-include), this is an EXACT tag match against every entry -- the right tool for 'how many X have I completed/done' or 'do I have any real evidence for X at all'. Tags are exact strings from a prior list_by_type/related_entries/query_knowhow result's tags array -- this is NOT semantic search; a tag never assigned during ingest returns found:false, try query_knowhow instead. Each type's entries sort by captured_at ascending (oldest first); entries with no captured_at are moved to the end and counted in undated_count, never silently sorted as if their date were known.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tag"
],
"properties": {
"tag": {
"type": "string",
"description": "An exact tag from a prior result's tags array, e.g. 'python', 'docker', 'gcp'"
}
}
}{
"readOnlyHint": true
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 2 of 2 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 345 ms
- 95th percentile latency
- 345 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 345 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http personalknowhow-mcp https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcpCodex
codex mcp add personalknowhow-mcp --url https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcpCursor
{
"mcpServers": {
"personalknowhow-mcp": {
"url": "https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"personalknowhow-mcp": {
"type": "streamableHttp",
"url": "https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"personalknowhow-mcp": {
"type": "http",
"url": "https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http personalknowhow-mcp https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcpClaude Desktop
https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcpWindsurf
{
"mcpServers": {
"personalknowhow-mcp": {
"serverUrl": "https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like PersonalKnowHow MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.