@youdotcom-oss/mcp 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -240
- package/bin/stdio.js +4886 -17930
- package/package.json +5 -11
- package/server.json +11 -4
- package/src/contents/contents.utils.ts +0 -59
- package/src/contents/register-contents-tool.ts +0 -95
- package/src/contents/tests/contents.utils.spec.ts +0 -99
- package/src/get-mcp-server.ts +0 -17
- package/src/main.ts +0 -5
- package/src/research/register-research-tool.ts +0 -68
- package/src/research/research.utils.ts +0 -12
- package/src/research/tests/research.utils.spec.ts +0 -51
- package/src/search/register-search-tool.ts +0 -86
- package/src/search/search.utils.ts +0 -27
- package/src/search/tests/register-search-tool.spec.ts +0 -119
- package/src/search/tests/search.utils.spec.ts +0 -192
- package/src/shared/format-search-results-text.ts +0 -69
- package/src/shared/get-logger.ts +0 -19
- package/src/shared/tests/format-search-results-text.spec.ts +0 -95
- package/src/shared/tests/shared.utils.spec.ts +0 -160
- package/src/shared/use-client-version.ts +0 -21
- package/src/stdio-server.ts +0 -24
package/README.md
CHANGED
|
@@ -1,266 +1,75 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @youdotcom-oss/mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Bin-only STDIO bridge for the hosted You.com MCP server at `https://api.you.com/mcp`.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This package does not register tools locally and does not contain REST tool logic. Its only job is to proxy STDIO MCP traffic to the hosted remote server.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- **Research**: Comprehensive answers with cited sources, configurable effort (lite to exhaustive)
|
|
9
|
-
- **Content extraction**: Extract and retrieve full content from web pages in markdown or HTML format
|
|
10
|
-
- **Multiple access methods**: Remote server (recommended) or local STDIO bridge
|
|
11
|
-
- **Free tier**: Search works without an API key (rate-limited by IP)
|
|
12
|
-
- **Advanced search parameters**: Site filtering, file type filtering, language filtering, exact terms, and exclude terms
|
|
13
|
-
|
|
14
|
-
## Getting started
|
|
15
|
-
|
|
16
|
-
Get up and running with the You.com MCP Server in 4 quick steps:
|
|
17
|
-
|
|
18
|
-
### 1. Get your API key
|
|
19
|
-
|
|
20
|
-
Visit [you.com/platform/api-keys](https://you.com/platform/api-keys) to get your You.com API key. Keep this key secure - you'll need it for configuration.
|
|
21
|
-
|
|
22
|
-
> **Free tier**: Search works without an API key (rate-limited). API key required for contents and research tools.
|
|
23
|
-
|
|
24
|
-
### 2. Choose your setup
|
|
25
|
-
|
|
26
|
-
You can discover this server in the [Anthropic MCP Registry](https://registry.modelcontextprotocol.io/) as `io.github.youdotcom-oss/mcp`, or configure it manually:
|
|
27
|
-
|
|
28
|
-
**Remote server (recommended)** - No installation, always up-to-date, just add the URL and API key
|
|
29
|
-
- Use `https://api.you.com/mcp` with HTTP transport
|
|
30
|
-
- Authentication via `Authorization: Bearer <your-key>` header
|
|
31
|
-
|
|
32
|
-
**NPM package** - STDIO bridge to the remote server
|
|
33
|
-
- Use `npx @youdotcom-oss/mcp` with STDIO transport
|
|
34
|
-
- Authentication via `YDC_API_KEY` environment variable
|
|
35
|
-
- Requires Bun or Node.js
|
|
36
|
-
|
|
37
|
-
### 3. Configure your client
|
|
38
|
-
|
|
39
|
-
Choose your MCP client from the [detailed setup guides](#adding-to-your-mcp-client) below. Most clients use this basic structure:
|
|
40
|
-
|
|
41
|
-
**Remote server (recommended):**
|
|
42
|
-
```json
|
|
43
|
-
{
|
|
44
|
-
"mcpServers": {
|
|
45
|
-
"ydc-server": {
|
|
46
|
-
"type": "http",
|
|
47
|
-
"url": "https://api.you.com/mcp",
|
|
48
|
-
"headers": { "Authorization": "Bearer <you-api-key>" }
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**NPM package:**
|
|
55
|
-
```json
|
|
56
|
-
{
|
|
57
|
-
"mcpServers": {
|
|
58
|
-
"ydc-server": {
|
|
59
|
-
"command": "npx",
|
|
60
|
-
"args": ["@youdotcom-oss/mcp"],
|
|
61
|
-
"env": { "YDC_API_KEY": "<you-api-key>" }
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**Configuration notes:**
|
|
68
|
-
- Remote server recommended for most users (no installation, always up-to-date)
|
|
69
|
-
- NPM package for MCP clients that require local STDIO processes
|
|
70
|
-
- `YDC_API_KEY` is optional — omit for free tier (search only, rate-limited)
|
|
71
|
-
- `MCP_SERVER_URL` env var overrides the remote server URL (defaults to `https://api.you.com/mcp`)
|
|
72
|
-
|
|
73
|
-
### 4. Test your setup
|
|
74
|
-
|
|
75
|
-
Ask your AI agent a simple query to verify everything works:
|
|
76
|
-
- "Search the web for the latest news about artificial intelligence"
|
|
77
|
-
- "What is the capital of France?" (with web search)
|
|
78
|
-
- "Extract the content from https://example.com"
|
|
79
|
-
|
|
80
|
-
Your agent will automatically use the appropriate tool based on your natural language request.
|
|
81
|
-
|
|
82
|
-
## Adding to your MCP client
|
|
83
|
-
|
|
84
|
-
Use the configuration templates from [Getting Started](#getting-started) above with your client's MCP setup. Any MCP-compatible client follows the same pattern.
|
|
85
|
-
|
|
86
|
-
<details>
|
|
87
|
-
<summary><strong>Claude Code</strong></summary>
|
|
7
|
+
## Install
|
|
88
8
|
|
|
89
9
|
```bash
|
|
90
|
-
|
|
10
|
+
bun add @youdotcom-oss/mcp
|
|
91
11
|
```
|
|
92
12
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
</details>
|
|
96
|
-
|
|
97
|
-
<details>
|
|
98
|
-
<summary><strong>Claude Desktop</strong></summary>
|
|
99
|
-
|
|
100
|
-
Use the remote server configuration template from Step 3 above. For full setup, see the MCP installation [guide](https://modelcontextprotocol.io/docs/develop/connect-local-servers).
|
|
101
|
-
|
|
102
|
-
</details>
|
|
103
|
-
|
|
104
|
-
<details>
|
|
105
|
-
<summary><strong>Cursor IDE</strong></summary>
|
|
106
|
-
|
|
107
|
-
[](https://cursor.com/en-US/install-mcp?name=ydc-server&config=eyJ1cmwiOiJodHRwczovL2FwaS55b3UuY29tL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciA8eW91LWFwaS1rZXk%2BIn19)
|
|
108
|
-
|
|
109
|
-
Use the configuration template above ***without the type field***. For full setup, see the [guide](https://cursor.com/docs/context/mcp#installing-mcp-servers).
|
|
110
|
-
|
|
111
|
-
**Note:** To avoid conflicts, go to Settings > Agents tab and turn off Cursor's built-in web search tool.
|
|
112
|
-
|
|
113
|
-
</details>
|
|
114
|
-
|
|
115
|
-
<details>
|
|
116
|
-
<summary><strong>VS Code</strong></summary>
|
|
13
|
+
Or run it directly:
|
|
117
14
|
|
|
118
15
|
```bash
|
|
119
|
-
|
|
16
|
+
npx @youdotcom-oss/mcp
|
|
120
17
|
```
|
|
121
18
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
</details>
|
|
125
|
-
|
|
126
|
-
**Other clients** — use the configuration template from Step 3 with your client's MCP setup guide:
|
|
127
|
-
- [Codex](https://github.com/openai/codex/blob/main/docs/config.md#streamable-http)
|
|
128
|
-
- [Gemini CLI](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html#how-to-set-up-your-mcp-server)
|
|
129
|
-
- [JetBrains IDEs](https://www.jetbrains.com/help/ai-assistant/mcp.html#connect-to-an-mcp-server)
|
|
130
|
-
- [LM Studio](https://lmstudio.ai/docs/app/mcp) *(omit type field)*
|
|
131
|
-
- [opencode](https://opencode.ai/docs/mcp-servers/#remote)
|
|
132
|
-
- [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp#adding-a-new-mcp-plugin)
|
|
133
|
-
- [Zed Editor](https://zed.dev/docs/ai/mcp#as-custom-servers) *(omit type field)*
|
|
134
|
-
|
|
135
|
-
## Available tools
|
|
136
|
-
|
|
137
|
-
This MCP server provides three tools that work seamlessly with your AI agent through natural language:
|
|
138
|
-
|
|
139
|
-
### you-search
|
|
140
|
-
Comprehensive web and news search with advanced filtering capabilities. Perfect for finding current information, research articles, documentation, and news stories.
|
|
141
|
-
|
|
142
|
-
**When to use**: When you need to search the web for information, filter by specific sites/file types, or get the latest news on a topic.
|
|
143
|
-
|
|
144
|
-
### you-research
|
|
145
|
-
Research with comprehensive answers and cited sources. Configurable effort levels (lite, standard, deep, exhaustive) let you trade speed for thoroughness.
|
|
146
|
-
|
|
147
|
-
**When to use**: When you need in-depth answers to complex questions, research reports with citations, or thorough analysis that goes beyond simple search results.
|
|
148
|
-
|
|
149
|
-
### you-contents
|
|
150
|
-
Extract full page content from URLs in markdown, HTML, or structured metadata formats. Useful for documentation analysis, content processing, SEO data extraction, and batch URL processing.
|
|
151
|
-
|
|
152
|
-
**When to use**: When you need to extract web page content (markdown/HTML) or structured metadata (OpenGraph, JSON-LD) for analysis or processing in your workflow.
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
**Note**: Your MCP client automatically shows you all available parameters and their descriptions when you use these tools. Simply ask your AI agent in natural language what you want to do, and it will orchestrate the appropriate tool calls for you.
|
|
157
|
-
|
|
158
|
-
## Use cases & examples
|
|
159
|
-
|
|
160
|
-
Here are common scenarios showing when and how to use each tool with natural language queries:
|
|
161
|
-
|
|
162
|
-
### Research & information gathering
|
|
163
|
-
|
|
164
|
-
**Use you-search when:**
|
|
165
|
-
- "Find recent research papers about quantum computing on arxiv.org"
|
|
166
|
-
- "Search for TypeScript documentation about generics"
|
|
167
|
-
- "Get the latest news about renewable energy from the past week"
|
|
168
|
-
- "Find PDF files about machine learning algorithms"
|
|
169
|
-
|
|
170
|
-
**Use you-research when:**
|
|
171
|
-
- "Give me a comprehensive analysis of the current state of AI regulation"
|
|
172
|
-
- "Research the pros and cons of WebAssembly vs JavaScript for performance-critical applications"
|
|
173
|
-
- "What are the latest breakthroughs in quantum computing? Include sources."
|
|
174
|
-
- "Provide a detailed comparison of React, Vue, and Svelte with citations"
|
|
19
|
+
## Environment
|
|
175
20
|
|
|
176
|
-
|
|
21
|
+
- `YDC_API_KEY`
|
|
22
|
+
Optional. Sent as `Authorization: Bearer <key>`.
|
|
23
|
+
- `YDC_PROFILE`
|
|
24
|
+
Optional. When set to `free`, routes the bridge to `https://api.you.com/mcp?profile=free`.
|
|
25
|
+
- `YDC_ALLOWED_TOOLS`
|
|
26
|
+
Optional. Comma-separated hosted tool ids to expose through `https://api.you.com/mcp?tools=...`.
|
|
177
27
|
|
|
178
|
-
|
|
179
|
-
- "Extract the content from this blog post: https://example.com/article"
|
|
180
|
-
- "Get the documentation from these three URLs in markdown format"
|
|
181
|
-
- "Pull the HTML content from this page preserving the layout"
|
|
182
|
-
- "Extract metadata from this article to get the author and publish date"
|
|
183
|
-
- "Get OpenGraph preview data for social sharing from these URLs"
|
|
184
|
-
- "Batch extract content from these 5 documentation pages"
|
|
28
|
+
`YDC_PROFILE` takes precedence over `YDC_ALLOWED_TOOLS`.
|
|
185
29
|
|
|
186
|
-
|
|
30
|
+
## Tool exposure
|
|
187
31
|
|
|
188
|
-
|
|
189
|
-
1. **Search + Extract**: "Search for the best TypeScript tutorials, then extract the content from the top 3 results"
|
|
190
|
-
2. **Research + Deep Dive**: "Research WebAssembly performance benefits, then extract code samples from the cited sources"
|
|
191
|
-
3. **News + Research**: "Find recent articles about AI regulation, then research the policy implications"
|
|
32
|
+
The hosted MCP capability surface includes:
|
|
192
33
|
|
|
193
|
-
|
|
34
|
+
- `you-contents`
|
|
35
|
+
- `you-finance`
|
|
36
|
+
- `you-research`
|
|
37
|
+
- `you-search`
|
|
194
38
|
|
|
195
|
-
|
|
196
|
-
- **Natural language**: You don't need to memorize parameters - just describe what you want
|
|
197
|
-
- **Follow up**: Ask clarifying questions to refine results
|
|
198
|
-
- **Combine tools**: Let your agent orchestrate multiple tool calls for complex workflows
|
|
39
|
+
The default hosted MCP URL exposes the default tool set:
|
|
199
40
|
|
|
200
|
-
|
|
41
|
+
- `you-search`
|
|
42
|
+
- `you-research`
|
|
43
|
+
- `you-contents`
|
|
201
44
|
|
|
202
|
-
|
|
45
|
+
`you-finance` is not included in the default tool set. Request it explicitly with `tools`.
|
|
203
46
|
|
|
204
|
-
|
|
205
|
-
- Verify your API key is correct and properly formatted
|
|
206
|
-
- Check that your MCP client configuration matches the template for your setup (remote vs local)
|
|
207
|
-
- For HTTP mode: Ensure the Authorization header includes "Bearer " prefix
|
|
208
|
-
- For STDIO mode: Verify the YDC_API_KEY environment variable is set
|
|
47
|
+
`tools` scopes the visible tool set.
|
|
209
48
|
|
|
210
|
-
|
|
211
|
-
- Check your MCP client logs for error messages
|
|
212
|
-
- Verify your API key has the necessary permissions
|
|
213
|
-
- For remote server: Ensure you can reach https://api.you.com/mcp-health
|
|
214
|
-
- For local: Verify Bun or Node.js is installed and the package is properly set up
|
|
49
|
+
Today, `profile=free` is a search-only mode. It overrides `tools` and does not expose `you-research`, `you-contents`, `you-finance`, or livecrawl.
|
|
215
50
|
|
|
216
|
-
|
|
217
|
-
- Remote server uses Bearer token authentication in headers
|
|
218
|
-
- Local STDIO mode uses YDC_API_KEY environment variable
|
|
219
|
-
- Make sure you're using the correct authentication method for your setup
|
|
51
|
+
Examples:
|
|
220
52
|
|
|
221
|
-
|
|
53
|
+
- Default tool set: `https://api.you.com/mcp`
|
|
54
|
+
- Finance only: `https://api.you.com/mcp?tools=you-finance`
|
|
55
|
+
- Search plus finance: `https://api.you.com/mcp?tools=you-search,you-finance`
|
|
56
|
+
- Free search profile: `https://api.you.com/mcp?profile=free`
|
|
222
57
|
|
|
223
|
-
|
|
224
|
-
- Claude Code: Check terminal output or logs
|
|
225
|
-
- Claude Desktop: View logs in application menu
|
|
226
|
-
- Cursor: Check MCP server logs in settings
|
|
227
|
-
- VS Code: View Output panel for MCP server logs
|
|
58
|
+
## Example client config
|
|
228
59
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
Interested in contributing to the You.com MCP Server? We'd love your help!
|
|
244
|
-
|
|
245
|
-
Need technical details? See the [mcp-patterns skill](../../.agents/skills/mcp-patterns/SKILL.md) for architecture, bridge maintenance patterns, and testing guidelines.
|
|
246
|
-
|
|
247
|
-
**Publishing note**: npm publish (`.github/workflows/publish-mcp.yml`) is for STDIO bridge changes only — rarely needed. The Anthropic MCP Registry is updated separately via `.github/workflows/publish-registry.yml` when the remote server's public surface changes (tools, auth, URL).
|
|
248
|
-
|
|
249
|
-
1. Fork the repository
|
|
250
|
-
2. Create a feature branch following naming conventions in [CONTRIBUTING.md](../../CONTRIBUTING.md)
|
|
251
|
-
3. Follow the code style guidelines and use conventional commits
|
|
252
|
-
4. Write tests for your changes (maintain >80% coverage)
|
|
253
|
-
5. Run quality checks: `bun run check && bun test`
|
|
254
|
-
6. Submit a pull request with a clear description
|
|
255
|
-
|
|
256
|
-
We appreciate all contributions, whether it's:
|
|
257
|
-
- Bug fixes
|
|
258
|
-
- New features
|
|
259
|
-
- Documentation improvements
|
|
260
|
-
- Performance optimizations
|
|
261
|
-
- Test coverage improvements
|
|
262
|
-
|
|
263
|
-
---
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"mcpServers": {
|
|
63
|
+
"ydc": {
|
|
64
|
+
"command": "npx",
|
|
65
|
+
"args": ["@youdotcom-oss/mcp"],
|
|
66
|
+
"env": {
|
|
67
|
+
"YDC_API_KEY": "<your-api-key>",
|
|
68
|
+
"YDC_ALLOWED_TOOLS": "you-search,you-finance"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
264
74
|
|
|
265
|
-
|
|
266
|
-
**Author**: You.com (https://you.com)
|
|
75
|
+
Use the hosted HTTP server directly when your MCP client supports remote MCP. Use this package only when the client requires a local STDIO command.
|