PersonalKnowHow
Live public demo: query one person's learning and work history as a knowledge graph via MCP.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"personalknowhow": {
"url": "https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcp"
}
}
}원격 엔드포인트
https://personalknowhow-demo.kxtwrdzt6g.workers.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (4)
🟢query_knowhow(topic)
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",
"properties": {
"topic": {
"type": "string",
"description": "A skill, technology, or topic to check, e.g. 'django' or 'aws'"
}
},
"required": [
"topic"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_by_type(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",
"properties": {
"type": {
"type": "string",
"enum": [
"course",
"project",
"certification",
"education",
"endorsement",
"position",
"profile",
"recommendation",
"article",
"organization",
"language",
"honor",
"publication",
"patent",
"volunteering",
"test_score",
"skill_assessment"
],
"description": "Exact entry type to list in full"
}
},
"required": [
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢related_entries(id)
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",
"properties": {
"id": {
"type": "string",
"description": "An entry id from a prior query_knowhow or list_by_type result"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skill_evidence(tag)
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",
"properties": {
"tag": {
"type": "string",
"description": "An exact tag from a prior result's tags array, e.g. 'python', 'docker', 'gcp'"
}
},
"required": [
"tag"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거