Skip to main content
Glama
bh-rat

context-awesome

by bh-rat

context-awesome : 为您的智能体提供 awesome 参考 Awesome

MCP Server

一个模型上下文协议 (MCP) 服务器,提供对所有精选 awesome 列表及其条目的访问。它可以从 GitHub 上 8500 多个 awesome 列表的各个部分中为您的智能体提供最佳资源,并包含超过 100 万条(且在不断增加)awesome 条目。

什么是 Awesome 列表? Awesome 列表是社区精选的关于任何主题的最佳工具、库和资源的集合——从机器学习框架到设计工具。通过添加此 MCP 服务器,您的 AI 智能体可以立即访问这些高质量、经过审查的资源,而无需依赖随机的网络搜索。

非常适合:

  1. 知识工作者智能体,以获取与其工作最相关的参考资料

  2. 获取最佳学习资源的来源

  3. 深度研究,可以快速为任何主题收集大量高质量资源。

  4. 搜索智能体

https://github.com/user-attachments/assets/babab991-e4ff-4433-bdb7-eb7032e9cd11

两种使用 Context Awesome 的方式

模式

安装

适用场景

MCP 服务器

将您的智能体指向托管 URL 或启动 context-awesome-mcp

Claude Desktop, Cursor, Windsurf, VS Code — 原生支持 MCP 的智能体

CLI

npm install -g context-awesome

脚本、shell 工作流、不支持 MCP 的编辑器、CI 作业

两种模式均来自同一个 npm 包 (context-awesome),并访问同一个托管后端。

Related MCP server: agent101-mcp

MCP 工具

每个 MCP 工具都有一个 1:1 的 CLI 子命令 — 服务器和 CLI 公开相同的操作。

工具

CLI 等效命令

功能

find_awesome_section

context-awesome sections <query...>

在匹配查询的 awesome 列表中发现部分/类别

search_awesome_items

context-awesome search <query...>

对单个条目(工具/库/资源)进行全文搜索

get_awesome_items

context-awesome items <target>

从已知的列表 + 部分获取条目,受 token 预算限制

CLI 命令

CLI (context-awesome) 直接与托管后端通信。对于 MCP 服务器,请使用单独的 context-awesome-mcp 二进制文件(请参阅下方的 安装 — MCP 客户端)。

context-awesome <command> [options]

Commands:
  sections <query...>        Find sections matching a query
  search <query...>          Search items (e.g., context-awesome search "postgres orm")
  items <target>             Fetch items from a list (by owner/repo or listId)

Globals:
  --api-host <url>           Backend API host (env: CONTEXT_AWESOME_API_HOST)
  --api-key <key>            API key (env: CONTEXT_AWESOME_API_KEY)
  --json                     Emit raw JSON (for scripts)

安装 CLI

npm install -g context-awesome
context-awesome --help
context-awesome search "rate limiter"
context-awesome sections "graph databases"

无需安装即可使用 CLI

npx context-awesome search "vector database"

安装 — MCP 客户端

远程服务器(推荐)

Context Awesome 可作为托管 MCP 服务器使用。无需安装。

前往:SettingsCursor SettingsMCPAdd new global MCP server

{
  "mcpServers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
claude mcp add --transport http context-awesome https://www.context-awesome.com/api/mcp

Settings → Connectors → Add Custom Connector.

  • 名称: Context Awesome

  • URL: https://www.context-awesome.com/api/mcp

在每个客户端的“添加远程 MCP”界面中使用相同的 URL (https://www.context-awesome.com/api/mcp)。请参阅下方的专用部分以获取确切的代码片段。

本地 stdio (Claude Desktop, 支持离线)

{
  "mcpServers": {
    "context-awesome": {
      "command": "npx",
      "args": ["-y", "context-awesome-mcp", "serve", "--transport", "stdio"],
      "env": {
        "CONTEXT_AWESOME_API_HOST": "https://api.context-awesome.com"
      }
    }
  }
}

本地 HTTP 传输 (用于自定义集成)

npx context-awesome-mcp serve --transport http --port 3001
# then point your client at http://localhost:3001/mcp

本地开发

git clone https://github.com/bh-rat/context-awesome.git
cd context-awesome
npm install
npm run build

# CLI
./build/cli.js search "graph databases"

# MCP server (stdio)
./build/index.js --transport stdio

# MCP Inspector
npm run inspector

后端服务

此 MCP 服务器和 CLI 连接到处理 awesome 列表处理繁重工作的后端 API 服务。

后端服务即将开源,使社区能够为完整的 context-awesome 生态系统做出贡献并从中受益。

其他安装方法

{
  "mcpServers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
{
  "context_servers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
  1. 点击汉堡菜单

  2. 选择 Settings

  3. 导航至 Tools

  4. 点击 + Add MCP

  5. 输入 URL: https://www.context-awesome.com/api/mcp

  6. 名称: Context Awesome

{
  "mcpServers": {
    "context-awesome": {
      "type": "streamable-http",
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "context-awesome": {
      "httpUrl": "https://www.context-awesome.com/api/mcp"
    }
  }
}
"mcp": {
  "context-awesome": {
    "type": "remote",
    "url": "https://www.context-awesome.com/api/mcp",
    "enabled": true
  }
}
  1. 前往 Settings -> Tools -> AI Assistant -> Model Context Protocol (MCP)

  2. 点击 + Add

  3. 配置 URL: https://www.context-awesome.com/api/mcp

  4. 点击 OKApply

  1. 导航至 Kiro > MCP Servers

  2. 点击 + Add

  3. 配置 URL: https://www.context-awesome.com/api/mcp

  4. 点击 Save

{
  "mcpServers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
  1. 导航至 Settings > AI > Manage MCP servers

  2. 点击 + Add

  3. 配置 URL: https://www.context-awesome.com/api/mcp

  4. 点击 Save

{
  "mcpServers": {
    "context-awesome": {
      "type": "http",
      "url": "https://www.context-awesome.com/api/mcp",
      "tools": ["find_awesome_section", "search_awesome_items", "get_awesome_items"]
    }
  }
}
  1. 导航至 Program > Install > Edit mcp.json

  2. 添加:

{
  "mcpServers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
  1. 导航至 Perplexity > Settings

  2. 选择 Connectors

  3. 点击 Add Connector

  4. 选择 Advanced

  5. 输入名称: Context Awesome

  6. 输入 URL: https://www.context-awesome.com/api/mcp

{
  "inputs": [],
  "servers": {
    "context-awesome": {
      "type": "http",
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
{
  "$schema": "https://charm.land/crush.json",
  "mcp": {
    "context-awesome": {
      "type": "http",
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
acli rovodev mcp

然后添加:

{
  "mcpServers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}
  1. 前往 Zencoder 菜单 (...)

  2. 选择 Agent tools

  3. 点击 Add custom MCP

  4. 名称: Context Awesome

  5. URL: https://www.context-awesome.com/api/mcp

  1. 打开 Qodo Gen 聊天面板

  2. 点击 Connect more tools

  3. 点击 + Add new MCP

  4. 添加:

{
  "mcpServers": {
    "context-awesome": {
      "url": "https://www.context-awesome.com/api/mcp"
    }
  }
}

许可证

MIT

贡献

欢迎贡献!请:

  1. Fork 本仓库

  2. 创建功能分支

  3. 为新功能添加测试

  4. 确保所有测试通过

  5. 提交 Pull Request

支持

如有问题和疑问:

归属

本项目使用了 GitHub 上 8,500 多个 awesome 列表的数据。请参阅 ATTRIBUTION.md 获取包含其数据的完整仓库列表。

致谢

构建工具:

Available Tools

2 tools
find_awesome_sectionFind Awesome List SectionAInspect

Discovers sections/categories across awesome lists matching a search query and returns matching sections from awesome lists.

You MUST call this function before 'get_awesome_items' to discover available sections UNLESS the user explicitly provides a githubRepo or listId.

Selection Process:

  1. Analyze the query to understand what type of resources the user is looking for

  2. Return the most relevant matches based on:

    • Name similarity to the query and the awesome lists section

    • Category/section relevance of the awesome lists

    • Number of items in the section

    • Confidence score

Response Format:

  • Returns matching sections of the awesome lists with metadata

  • Includes repository information, item counts, and confidence score

  • Use the githubRepo or listId with relevant sections from results for get_awesome_items

For ambiguous queries, multiple relevant sections will be returned for the user to choose from.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch terms for finding sections across awesome lists
confidenceNoMinimum confidence score (0-1)
limitNoMaximum sections to return

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior: the selection process (4 criteria), response format (metadata included), and handling of ambiguous queries (returns multiple sections). It doesn't mention rate limits, authentication needs, or error conditions, but provides substantial operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections: purpose statement, usage requirement, selection process, response format, and handling of ambiguous queries. While comprehensive, some sentences could be more concise (e.g., the selection process could be bulleted more efficiently). Overall, it's appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description provides substantial context: purpose, usage rules, selection algorithm, response format, and relationship to sibling tool. It doesn't explicitly describe the exact structure of returned metadata or error cases, but covers most essential aspects for a search/discovery tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting for parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Discovers sections/categories across awesome lists matching a search query and returns matching sections from awesome lists.' It specifies the verb ('discovers'), resource ('sections/categories across awesome lists'), and distinguishes it from its sibling 'get_awesome_items' by explaining this tool is for discovering sections before retrieving items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'You MUST call this function before 'get_awesome_items' to discover available sections UNLESS the user explicitly provides a githubRepo or listId.' It clearly states when to use this tool versus its sibling and includes conditions for when it's not needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_awesome_itemsGet Awesome List ItemsAInspect

Retrieves items from a specific awesome list or section with token limiting. You must call 'find_awesome_section' first to discover available sections, UNLESS the user explicitly provides a githubRepo or listId.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdNoUUID of the list (from find_awesome_section results)
githubRepoNoGitHub repo path (e.g., 'sindresorhus/awesome') from find_awesome_section results
sectionNoCategory/section name to filter
subcategoryNoSubcategory to filter
tokensNoMaximum number of tokens to return (default: 10000). Higher values provide more items but consume more tokens.
offsetNoPagination offset for retrieving more items

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: the token limiting mechanism ('with token limiting'), the dependency on another tool ('call 'find_awesome_section' first'), and the conditional logic for parameters. However, it doesn't mention error handling, rate limits, or authentication needs, which are common gaps for retrieval tools.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with two sentences that each serve distinct purposes: the first states the core functionality with a key constraint, and the second provides essential usage guidance. There is no wasted language, and information is front-loaded effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, dependency on another tool) and lack of annotations/output schema, the description does well by covering purpose, usage guidelines, and key behavioral aspects. However, it doesn't describe the return format (e.g., structure of items, pagination details), which would be helpful since there's no output schema, leaving some gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds minimal parameter semantics beyond the schema, only implying that 'githubRepo' and 'listId' come from 'find_awesome_section' results. This meets the baseline of 3 when schema coverage is high, but doesn't provide significant additional value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'retrieves' and the resource 'items from a specific awesome list or section', specifying the action and target. It distinguishes from the sibling tool 'find_awesome_section' by indicating this tool is for retrieving items after sections are identified, establishing a clear functional relationship.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'You must call 'find_awesome_section' first to discover available sections, UNLESS the user explicitly provides a githubRepo or listId.' This provides clear prerequisites and alternatives, directly addressing the sibling tool relationship and user input scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.2/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: 'find_awesome_section' discovers sections/categories across awesome lists based on a search query, while 'get_awesome_items' retrieves actual items from a specific list or section. There is no overlap in functionality—one is for discovery and the other for retrieval, making them perfectly distinguishable.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with snake_case: 'find_awesome_section' and 'get_awesome_items'. The naming is predictable and readable, with 'find' and 'get' as appropriate verbs for their respective actions, maintaining uniformity throughout the set.

Tool Count3/5

With only 2 tools, the server feels thin for its apparent purpose of interacting with awesome lists. While the tools cover discovery and retrieval, typical operations like creating, updating, or deleting items are missing, suggesting the scope might be limited or incomplete. A count of 2 is borderline for a functional server in this domain.

Completeness2/5

The tool surface is significantly incomplete for the domain of awesome list management. It only supports discovery and retrieval, lacking any CRUD operations such as adding, updating, or removing items or sections. This will likely cause agent failures when full lifecycle management is needed, as there are obvious gaps in coverage.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with searchable access to documentation from 170+ curated repositories and 1000+ popular GitHub projects across 20+ categories including trading, AI/ML, DevOps, and web development.
    3
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Search and discover 500+ tools, APIs, and services for AI agents. Browse 15 categories, get recommendations, and access structured metadata including auth methods, free tiers, and example calls.
    1
  • A
    license
    A
    quality
    A
    maintenance
    Give your AI agent access to 8,400+ software tools — search, compare, get pricing, find alternatives, and discover the best tool for any use case.
    8
    161
    4
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bh-rat/context-awesome'

If you have feedback or need assistance with the MCP directory API, please join our Discord server