mcp.utils.extract_mcp_github_reposΒΆ
Enhanced MCP Repository Extractor with README Processing.
This script: 1. Extracts repository URLs from awesome-mcp-servers 2. Downloads and processes README files 3. Converts to LangChain Documents with metadata 4. Organizes resources for agent access
AttributesΒΆ
ClassesΒΆ
Statistics for extraction process. |
|
MCP Server Categories. |
|
Programming Languages. |
|
Supported Platforms. |
|
Enhanced MCP Repository Extractor. |
|
Server Scope. |
|
Complete MCP Server Document. |
|
Metadata for an MCP Server. |
FunctionsΒΆ
|
Create a loader function for agents to access MCP documents. |
|
Main function. |
Module ContentsΒΆ
- class mcp.utils.extract_mcp_github_repos.ExtractionStats(/, **data: Any)ΒΆ
Bases:
pydantic.BaseModel
Statistics for extraction process.
- class mcp.utils.extract_mcp_github_repos.MCPCategoryΒΆ
-
MCP Server Categories.
- AGGREGATORS = 'Aggregators'ΒΆ
- AI_SERVICES = 'AI Services'ΒΆ
- ART_LITERATURE = 'Art & Literature'ΒΆ
- CLOUD_PLATFORMS = 'Cloud Platforms'ΒΆ
- CLOUD_STORAGE = 'Cloud Storage'ΒΆ
- COMMUNICATION = 'Communication'ΒΆ
- DATABASES = 'Databases'ΒΆ
- DATA_VISUALIZATION = 'Data Visualization'ΒΆ
- DEVELOPMENT_TOOLS = 'Development Tools'ΒΆ
- FILE_SYSTEMS = 'File Systems'ΒΆ
- FINANCE = 'Finance'ΒΆ
- GAMING = 'Gaming'ΒΆ
- IDENTITY = 'Identity'ΒΆ
- IOT = 'IoT'ΒΆ
- LANGUAGE_TRANSLATION = 'Language & Translation'ΒΆ
- LOCATION_SERVICES = 'Location Services'ΒΆ
- MARKETING = 'Marketing'ΒΆ
- MONITORING = 'Monitoring'ΒΆ
- NOTE_TAKING = 'Note Taking'ΒΆ
- OTHER = 'Other'ΒΆ
- RESEARCH_DATA = 'Research & Data'ΒΆ
- SANDBOX_VIRTUALIZATION = 'Sandbox & Virtualization'ΒΆ
- SEARCH_WEB = 'Search & Web'ΒΆ
- SECURITY = 'Security'ΒΆ
- SOCIAL_MEDIA = 'Social Media'ΒΆ
- SYSTEM_AUTOMATION = 'System Automation'ΒΆ
- VERSION_CONTROL = 'Version Control'ΒΆ
- WORKFLOW_AUTOMATION = 'Workflow Automation'ΒΆ
- class mcp.utils.extract_mcp_github_repos.MCPLanguageΒΆ
-
Programming Languages.
- CSHARP = 'C#'ΒΆ
- C_CPP = 'C/C++'ΒΆ
- GO = 'Go'ΒΆ
- JAVA = 'Java'ΒΆ
- OTHER = 'Other'ΒΆ
- PYTHON = 'Python'ΒΆ
- RUST = 'Rust'ΒΆ
- TYPESCRIPT_JAVASCRIPT = 'TypeScript/JavaScript'ΒΆ
- class mcp.utils.extract_mcp_github_repos.MCPPlatformΒΆ
-
Supported Platforms.
- CROSS_PLATFORM = 'Cross-Platform'ΒΆ
- LINUX = 'Linux'ΒΆ
- MACOS = 'macOS'ΒΆ
- WINDOWS = 'Windows'ΒΆ
- class mcp.utils.extract_mcp_github_repos.MCPRepositoryExtractor(output_dir: str = 'agent_resources/mcp_servers')ΒΆ
Enhanced MCP Repository Extractor.
- async extract_all() list[MCPServerDocument] ΒΆ
Main extraction method.
- async extract_repositories_from_readme() list[MCPServerMetadata] ΒΆ
Extract repository information from the awesome-mcp-servers. README.
- async fetch_github_metadata(metadata: MCPServerMetadata) None ΒΆ
Fetch additional metadata from GitHub API.
- async fetch_readme_content(metadata: MCPServerMetadata) str | None ΒΆ
Fetch README content from GitHub.
- generate_statistics_report(documents: list[MCPServerDocument]) None ΒΆ
Generate statistics report.
- async process_repository(metadata: MCPServerMetadata) MCPServerDocument | None ΒΆ
Process a single repository.
- save_documents(documents: list[MCPServerDocument]) None ΒΆ
Save documents in various formats.
- category_mappingsΒΆ
- docs_dirΒΆ
- language_indicatorsΒΆ
- metadata_dirΒΆ
- output_dirΒΆ
- platform_indicatorsΒΆ
- raw_dirΒΆ
- scope_indicatorsΒΆ
- session = NoneΒΆ
- source_url = 'https://github.com/TensorBlock/awesome-mcp-servers'ΒΆ
- statsΒΆ
- class mcp.utils.extract_mcp_github_repos.MCPScopeΒΆ
-
Server Scope.
- CLOUD = 'cloud'ΒΆ
- EMBEDDED = 'embedded'ΒΆ
- LOCAL = 'local'ΒΆ
- class mcp.utils.extract_mcp_github_repos.MCPServerDocument(/, **data: Any)ΒΆ
Bases:
pydantic.BaseModel
Complete MCP Server Document.
- to_langchain_document() langchain_core.documents.Document ΒΆ
Convert to LangChain Document.
- extracted_at: datetime.datetime = NoneΒΆ
- metadata: MCPServerMetadata = NoneΒΆ
- model_configΒΆ
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class mcp.utils.extract_mcp_github_repos.MCPServerMetadata(/, **data: Any)ΒΆ
Bases:
pydantic.BaseModel
Metadata for an MCP Server.
- category: MCPCategory = NoneΒΆ
- languages: list[MCPLanguage] = NoneΒΆ
- last_updated: datetime.datetime | None = NoneΒΆ
- model_configΒΆ
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- platforms: list[MCPPlatform] = NoneΒΆ
- mcp.utils.extract_mcp_github_repos.create_agent_loader(output_dir: str = 'agent_resources/mcp_servers') callable ΒΆ
Create a loader function for agents to access MCP documents.
- async mcp.utils.extract_mcp_github_repos.main()ΒΆ
Main function.
- mcp.utils.extract_mcp_github_repos.consoleΒΆ