{"adoption": {"forks": 198, "observed_at": "2026-08-28T04:03:26.793960+00:00", "stars": 1065}, "canonical_url": "https://ross.abutalabs.com/products/lets-learn-mcp-python", "card": {"archived": false, "artifact_type": "learning-resource", "description": "MCP Python Tutorial ", "domain": ["artificial-intelligence", "large-language-models", "tutorials", "developer-tools"], "enriched": true, "function": ["mcp", "agent-framework", "developer-tools"], "health_score": 46, "homepage": "https://aka.ms/lets-learn-mcp-python", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["microsoft/lets-learn-mcp-python"], "name": "microsoft/lets-learn-mcp-python", "platform": ["python", "cross-platform"], "pushed_at": "2025-09-24T09:01:39+00:00", "repo": "microsoft/lets-learn-mcp-python", "stars": 1065, "tags": ["mcp-server", "tutorial-series", "model-context-protocol", "ai-agents", "vs-code"], "topics": ["ai", "mcp", "python"], "urls": [], "use_cases": ["learn how to build an MCP server in Python", "understand Model Context Protocol fundamentals", "create custom tools and prompts for AI assistants", "connect MCP servers to VS Code", "build an AI research paper study assistant", "get started with MCP client-server architecture"], "what_it_is": "A Microsoft tutorial series teaching Python developers how to build Model Context Protocol (MCP) servers through guided, hands-on lessons. Learners build a Python Study Buddy app and an AI research learning MCP server.", "when_to_avoid": ["you need production-ready MCP server code rather than educational examples", "you already know MCP and only need reference documentation", "you work in a language other than Python"], "when_to_choose": ["you are a Python developer new to MCP and want a structured tutorial", "you want hands-on projects for learning MCP tools, prompts, and resources", "you prefer video-plus-code walkthroughs from Microsoft"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/lets-learn-mcp-python", "repo": "microsoft/lets-learn-mcp-python", "role": "main", "score": 37}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.793960+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:55:30.782698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82aa3c171732ae59aee566dcb019d4bfd4bfe5d7fc40b53a118357b538c860c2", "fetched_at": "2026-08-28T04:03:26.793960+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/lets-learn-mcp-python"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 43, "longevity": 29, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 419, "days_push": 343, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 37, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}