mcp-omnisearch
์ฌ๋ฌ ๊ฒ์ ์ ๊ณต์ ์ฒด์ AI ๋๊ตฌ์ ๋ํ ํตํฉ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ ๋ชจ๋ธ ์ปจํ ์คํธ ํ๋กํ ์ฝ(MCP) ์๋ฒ์ ๋๋ค. ์ด ์๋ฒ๋ Tavily, Perplexity, Kagi, Jina AI, Brave, Firecrawl์ ๊ธฐ๋ฅ์ ๊ฒฐํฉํ์ฌ ๋จ์ผ ์ธํฐํ์ด์ค๋ฅผ ํตํด ํฌ๊ด์ ์ธ ๊ฒ์, AI ์๋ต, ์ฝํ ์ธ ์ฒ๋ฆฌ ๋ฐ ํฅ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
ํน์ง
๐ ๊ฒ์ ๋๊ตฌ
Tavily Search : ๊ฐ๋ ฅํ ์ธ์ฉ ์ง์์ ํตํด ์ฌ์ค ์ ๋ณด์ ์ต์ ํ๋์ด ์์ต๋๋ค. API ๋งค๊ฐ๋ณ์(include_domains/exclude_domains)๋ฅผ ํตํ ๋๋ฉ์ธ ํํฐ๋ง์ ์ง์ํฉ๋๋ค.
Brave Search : ๊ฐ์ธ ์ ๋ณด ๋ณดํธ์ ์ค์ ์ ๋ ๊ฒ์ ๊ธฐ๋ฅ์ผ๋ก, ๊ธฐ์ ์ ์ธ ์ฝํ ์ธ ๊ฒ์์ ์ ํฉํฉ๋๋ค. ๊ฒ์ ์ฐ์ฐ์(site:, -site:, filetype:, intitle:, inurl:, before:, after:, exact ๊ตฌ๋ฌธ)๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํฉ๋๋ค.
Kagi Search : ๊ด๊ณ ์ํฅ์ ์ต์ํํ๋ฉด์ ๊ถ์ ์๋ ์ถ์ฒ์ ์ด์ ์ ๋ง์ถ ๊ณ ํ์ง ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฟผ๋ฆฌ ๋ฌธ์์ด์์ ๊ฒ์ ์ฐ์ฐ์(site:, -site:, filetype:, intitle:, inurl:, before:, after:, exact ๊ตฌ๋ฌธ)๋ฅผ ์ง์ํฉ๋๋ค.
๐ฏ ๊ฒ์ ์ฐ์ฐ์
MCP Omnisearch๋ ์ฐ์ฐ์์ ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ๊ฐ๋ ฅํ ๊ฒ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ผ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ
๋๋ฉ์ธ ํํฐ๋ง: ๋ชจ๋ ๊ณต๊ธ์ ์ฒด์์ ์ฌ์ฉ ๊ฐ๋ฅ
Tavily: API ๋งค๊ฐ๋ณ์(include_domains/exclude_domains)๋ฅผ ํตํด
Brave & Kagi: ์ฌ์ดํธ: ๋ฐ -์ฌ์ดํธ: ์ด์์๋ฅผ ํตํด
ํ์ผ ์ ํ ํํฐ๋ง: Brave ๋ฐ Kagi์์ ์ฌ์ฉ ๊ฐ๋ฅ(filetype:)
์ ๋ชฉ ๋ฐ URL ํํฐ๋ง: Brave ๋ฐ Kagi์์ ์ฌ์ฉ ๊ฐ๋ฅ(intitle:, inurl:)
๋ ์ง ํํฐ๋ง: Brave ๋ฐ Kagi์์ ์ฌ์ฉ ๊ฐ๋ฅ(์ด์ :, ์ดํ:)
์ ํํ ๊ตฌ๋ฌธ ์ผ์น: Brave ๋ฐ Kagi("๊ตฌ๋ฌธ")์์ ์ฌ์ฉ ๊ฐ๋ฅ
์ฌ์ฉ ์
์ง์์คํผ1
๊ณต๊ธ์ ๊ธฐ๋ฅ
Brave Search : ์ฟผ๋ฆฌ ๋ฌธ์์ด์์ ์ ์ฒด ๋ค์ดํฐ๋ธ ์ฐ์ฐ์ ์ง์
Kagi Search : ์ฟผ๋ฆฌ ๋ฌธ์์ด์์ ์๋ฒฝํ ์ฐ์ฐ์ ์ง์
Tavily Search : API ๋งค๊ฐ๋ณ์๋ฅผ ํตํ ๋๋ฉ์ธ ํํฐ๋ง
๐ค AI ๋์ ๋๊ตฌ
Perplexity AI : GPT-4 Omni ๋ฐ Claude 3์ ์ค์๊ฐ ์น ๊ฒ์์ ๊ฒฐํฉํ ๊ณ ๊ธ ์๋ต ์์ฑ
Kagi FastGPT : ์ธ์ฉ๋ฌธ์ด ํฌํจ๋ ๋น ๋ฅธ AI ์์ฑ ๋ต๋ณ(์ผ๋ฐ ์๋ต ์๊ฐ 900ms)
๐ ์ฝํ ์ธ ์ฒ๋ฆฌ ๋๊ตฌ
Jina AI Reader : ์ด๋ฏธ์ง ์บก์ ๋ฐ PDF ์ง์์ ํตํ ๊น๋ํ ์ฝํ ์ธ ์ถ์ถ
Kagi Universal Summarizer : ํ์ด์ง, ๋น๋์ค ๋ฐ ํ์บ์คํธ์ ๋ํ ์ฝํ ์ธ ์์ฝ
Tavily Extract : ๊ตฌ์ฑ ๊ฐ๋ฅํ ์ถ์ถ ๊น์ด('๊ธฐ๋ณธ' ๋๋ '๊ณ ๊ธ')๋ฅผ ์ฌ์ฉํ์ฌ ๋จ์ผ ๋๋ ์ฌ๋ฌ ์น ํ์ด์ง์์ ์์ ์ฝํ ์ธ ๋ฅผ ์ถ์ถํฉ๋๋ค. ๋จ์ด ์ ๋ฐ ์ถ์ถ ํต๊ณ๋ฅผ ํฌํจํ ๋ฉํ๋ฐ์ดํฐ์ ํจ๊ป ํตํฉ ์ฝํ ์ธ ๋ฐ ๊ฐ๋ณ URL ์ฝํ ์ธ ๋ฅผ ๋ชจ๋ ๋ฐํํฉ๋๋ค.
Firecrawl Scrape : ํฅ์๋ ์์ ์ต์ ์ ํตํด ๋จ์ผ URL์์ ๊นจ๋ํ๊ณ LLM์ ์ ํฉํ ๋ฐ์ดํฐ ์ถ์ถ
Firecrawl ํฌ๋กค๋ง : ๊ตฌ์ฑ ๊ฐ๋ฅํ ๊น์ด ์ ํ์ ์ฌ์ฉํ์ฌ ์น์ฌ์ดํธ์ ๋ชจ๋ ์ ๊ทผ ๊ฐ๋ฅํ ํ์ ํ์ด์ง์ ๋ํ ์ฌ์ธต ํฌ๋กค๋ง
Firecrawl Map : ํฌ๊ด์ ์ธ ์ฌ์ดํธ ๋งคํ์ ์ํ ์น์ฌ์ดํธ์ ๋น ๋ฅธ URL ์์ง
Firecrawl ์ถ์ถ : ์์ฐ์ด ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ AI๋ก ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ์ถ์ถ
Firecrawl ์์ : ๋์ ์ฝํ ์ธ ์ถ์ถ ์ ํ์ด์ง ์ํธ์์ฉ(ํด๋ฆญ, ์คํฌ๋กค ๋ฑ) ์ง์
๐ ํฅ์ ๋๊ตฌ
Kagi Enrichment API : ์ ๋ฌธ ์ธ๋ฑ์ค(Teclis, TinyGem)์ ๋ณด์ถฉ ์ฝํ ์ธ
์ง๋ AI ๊ทธ๋ผ์ด๋ฉ : ์น ์ง์์ ๋ํ ์ค์๊ฐ ์ฌ์ค ๊ฒ์ฆ
Related MCP server: MCP2Tavily
์ ์ฐํ API ํค ์๊ตฌ ์ฌํญ
MCP Omnisearch๋ ์ฌ์ฉ ๊ฐ๋ฅํ API ํค๋ก ์๋ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ชจ๋ ์ ๊ณต์ ์ฒด์ API ํค๋ฅผ ๋ณด์ ํ ํ์๋ ์์ต๋๋ค. ์๋ฒ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ API ํค๋ฅผ ์๋์ผ๋ก ๊ฐ์งํ์ฌ ํด๋น ์ ๊ณต์ ์ฒด๋ง ํ์ฑํํฉ๋๋ค.
์๋ฅผ ๋ค์ด:
Tavily ๋ฐ Perplexity API ํค๋ง ์๋ ๊ฒฝ์ฐ ํด๋น ๊ณต๊ธ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
Kagi API ํค๊ฐ ์์ผ๋ฉด Kagi ๊ธฐ๋ฐ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง ๋ค๋ฅธ ๋ชจ๋ ๊ณต๊ธ์๋ ์ ์์ ์ผ๋ก ์๋ํฉ๋๋ค.
์๋ฒ๋ ๊ทํ๊ฐ ๊ตฌ์ฑํ API ํค์ ๋ฐ๋ผ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ธ์๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
์ด๋ฌํ ์ ์ฐ์ฑ ๋๋ถ์ ์ฒ์์๋ ํ๋ ๋๋ ๋ ๊ฐ์ ๊ณต๊ธ์ ์ฒด๋ก ์์ํ ํ ํ์์ ๋ฐ๋ผ ๋ ์ถ๊ฐํ๋ ๊ฒ์ด ์ฝ์ต๋๋ค.
๊ตฌ์ฑ
์ด ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด MCP ํด๋ผ์ด์ธํธ๋ฅผ ํตํ ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค. ๋ค์์ ๋ค์ํ ํ๊ฒฝ์ ๋ํ ์์์ ๋๋ค.
ํด๋ผ์ธ ๊ตฌ์ฑ
Cline MCP ์ค์ ์ ๋ค์์ ์ถ๊ฐํ์ธ์.
{
"mcpServers": {
"mcp-omnisearch": {
"command": "node",
"args": ["/path/to/mcp-omnisearch/dist/index.js"],
"env": {
"TAVILY_API_KEY": "your-tavily-key",
"PERPLEXITY_API_KEY": "your-perplexity-key",
"KAGI_API_KEY": "your-kagi-key",
"JINA_AI_API_KEY": "your-jina-key",
"BRAVE_API_KEY": "your-brave-key",
"FIRECRAWL_API_KEY": "your-firecrawl-key"
},
"disabled": false,
"autoApprove": []
}
}
}WSL ๊ตฌ์ฑ์ ์ฌ์ฉํ Claude Desktop
WSL ํ๊ฒฝ์ ๊ฒฝ์ฐ Claude Desktop ๊ตฌ์ฑ์ ๋ค์์ ์ถ๊ฐํ์ธ์.
{
"mcpServers": {
"mcp-omnisearch": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"TAVILY_API_KEY=key1 PERPLEXITY_API_KEY=key2 KAGI_API_KEY=key3 JINA_AI_API_KEY=key4 BRAVE_API_KEY=key5 FIRECRAWL_API_KEY=key6 node /path/to/mcp-omnisearch/dist/index.js"
]
}
}
}ํ๊ฒฝ ๋ณ์
์๋ฒ๋ ๊ฐ ์ ๊ณต์ ์ฒด์ API ํค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ชจ๋ ์ ๊ณต์ ์ฒด์ ํค๊ฐ ํ์ํ์ง ์์ต๋๋ค . ์ฌ์ฉ ๊ฐ๋ฅํ API ํค์ ํด๋นํ๋ ์ ๊ณต์ ์ฒด๋ง ํ์ฑํ๋ฉ๋๋ค.
TAVILY_API_KEY: Tavily ๊ฒ์์ฉPERPLEXITY_API_KEY: Perplexity AI์ฉKAGI_API_KEY: Kagi ์๋น์ค(FastGPT, Summarizer, Enrichment)์ฉJINA_AI_API_KEY: Jina AI ์๋น์ค(Reader, Grounding)์ฉBRAVE_API_KEY: Brave Search์ฉFIRECRAWL_API_KEY: Firecrawl ์๋น์ค(์คํฌ๋ ์ดํ, ํฌ๋กค, ๋งต, ์ถ์ถ, ์์ )์ฉ
API ํค๋ฅผ ํ๋ ๊ฐ๋ก ์์ํ์ฌ ํ์์ ๋ฐ๋ผ ๋ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์๋ฒ๋ ์์ ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ธ์๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
API
์๋ฒ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฒ์ฃผ๋ณ๋ก ๊ตฌ์ฑ๋ MCP ๋๊ตฌ๋ฅผ ๊ตฌํํฉ๋๋ค.
๊ฒ์ ๋๊ตฌ
๊ฒ์_ํ๋น๋ฆฌ
Tavily Search API๋ฅผ ์ฌ์ฉํ์ฌ ์น์ ๊ฒ์ํ์ธ์. ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ์ ์ธ์ฉ์ ์๊ตฌํ๋ ์ฌ์ค ๊ธฐ๋ฐ ๊ฒ์์ ๊ฐ์ฅ ์ ํฉํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
query(๋ฌธ์์ด, ํ์): ๊ฒ์ ์ฟผ๋ฆฌ
์:
{
"query": "latest developments in quantum computing"
}๊ฒ์_์ฉ๊ฐํ
๊ธฐ์ ์ ์ธ ์ฃผ์ ๋ฅผ ํญ๋๊ฒ ๋ค๋ฃจ๊ณ ๊ฐ์ธ์ ๋ณด ๋ณดํธ์ ์ค์ ์ ๋ ์น ๊ฒ์์ ๋๋ค.
๋งค๊ฐ๋ณ์:
query(๋ฌธ์์ด, ํ์): ๊ฒ์ ์ฟผ๋ฆฌ
์:
{
"query": "rust programming language features"
}๊ฒ์_์นด๊ธฐ
๊ด๊ณ ์ํฅ์ ์ต์ํํ๋ฉด์ ๊ณ ํ์ง ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ถ์ ์๋ ์ถ์ฒ์ ์ฐ๊ตฌ ์๋ฃ๋ฅผ ์ฐพ๋ ๋ฐ ๊ฐ์ฅ ์ ํฉํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
query(๋ฌธ์์ด, ํ์): ๊ฒ์ ์ฟผ๋ฆฌlanguage(๋ฌธ์์ด, ์ ํ ์ฌํญ): ์ธ์ด ํํฐ(์: "en")no_cache(๋ถ์ธ, ์ ํ ์ฌํญ): ์ต์ ๊ฒฐ๊ณผ์ ๋ํ ์บ์ ์ฐํ
์:
{
"query": "latest research in machine learning",
"language": "en"
}AI ๋์ ๋๊ตฌ
ai_perplexity
์ค์๊ฐ ์น ๊ฒ์ ํตํฉ์ ํตํ AI ๊ธฐ๋ฐ ์๋ต ์์ฑ.
๋งค๊ฐ๋ณ์:
query(๋ฌธ์์ด, ํ์): AI ์๋ต์ ๋ํ ์ง๋ฌธ ๋๋ ์ฃผ์
์:
{
"query": "Explain the differences between REST and GraphQL"
}ai_kagi_fastgpt
์ธ์ฉ๋ฌธ์ด ํฌํจ๋ AI๊ฐ ๋น ๋ฅด๊ฒ ์์ฑํ๋ ๋ต๋ณ.
๋งค๊ฐ๋ณ์:
query(๋ฌธ์์ด, ํ์): AI์ ๋น ๋ฅธ ์๋ต์ ์ํ ์ง๋ฌธ
์:
{
"query": "What are the main features of TypeScript?"
}์ฝํ ์ธ ์ฒ๋ฆฌ ๋๊ตฌ
ํ๋ก์ธ์ค_์ง๋_๋ฆฌ๋
URL์ ์ด๋ฏธ์ง ์บก์ ์ด ํฌํจ๋ ๊น๋ํ๊ณ LLM ์นํ์ ์ธ ํ ์คํธ๋ก ๋ณํํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
url(๋ฌธ์์ด, ํ์): ์ฒ๋ฆฌํ URL
์:
{
"url": "https://example.com/article"
}ํ๋ก์ธ์ค_์นด๊ธฐ_์์ฝ๊ธฐ
URL์์ ์ฝํ ์ธ ๋ฅผ ์์ฝํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
url(๋ฌธ์์ด, ํ์): ์์ฝํ URL
์:
{
"url": "https://example.com/long-article"
}ํ๋ก์ธ์ค_ํ๋น๋ฆฌ_์ถ์ถ
Tavily Extract๋ฅผ ์ฌ์ฉํ์ฌ ์น ํ์ด์ง์์ ์์ ์ฝํ ์ธ ๋ฅผ ์ถ์ถํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
url(๋ฌธ์์ด | ๋ฌธ์์ด[], ํ์): ์ฝํ ์ธ ๋ฅผ ์ถ์ถํ ๋จ์ผ URL ๋๋ URL ๋ฐฐ์ดextract_depth(๋ฌธ์์ด, ์ ํ ์ฌํญ): ์ถ์ถ ๊น์ด - '๊ธฐ๋ณธ'(๊ธฐ๋ณธ๊ฐ) ๋๋ '๊ณ ๊ธ'
์:
{
"url": [
"https://example.com/article1",
"https://example.com/article2"
],
"extract_depth": "advanced"
}์๋ต์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
๋ชจ๋ URL์ ๊ฒฐํฉ๋ ์ฝํ ์ธ
๊ฐ URL์ ๋ํ ๊ฐ๋ณ ์์ ์ฝํ ์ธ
๋จ์ด ์, ์ฑ๊ณต์ ์ธ ์ถ์ถ ๋ฐ ์คํจํ URL์ด ํฌํจ๋ ๋ฉํ๋ฐ์ดํฐ
ํ์ด์ดํฌ๋กค_์คํฌ๋ ์ดํ_ํ๋ก์ธ์ค
ํฅ์๋ ์์ ์ต์ ์ ์ฌ์ฉํ์ฌ ๋จ์ผ URL์์ ์ ๋ฆฌ๋๊ณ LLM์ ์ ํฉํ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
url(๋ฌธ์์ด | ๋ฌธ์์ด[], ํ์): ์ฝํ ์ธ ๋ฅผ ์ถ์ถํ ๋จ์ผ URL ๋๋ URL ๋ฐฐ์ดextract_depth(๋ฌธ์์ด, ์ ํ ์ฌํญ): ์ถ์ถ ๊น์ด - '๊ธฐ๋ณธ'(๊ธฐ๋ณธ๊ฐ) ๋๋ '๊ณ ๊ธ'
์:
{
"url": "https://example.com/article",
"extract_depth": "basic"
}์๋ต์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
๊น๋ํ๊ณ ๋งํฌ๋ค์ด ํ์์ ์ฝํ ์ธ
์ ๋ชฉ, ๋จ์ด ์, ์ถ์ถ ํต๊ณ๋ฅผ ํฌํจํ ๋ฉํ๋ฐ์ดํฐ
firecrawl_crawl_process
๊ตฌ์ฑ ๊ฐ๋ฅํ ๊น์ด ์ ํ์ ํตํด ์น์ฌ์ดํธ์ ๋ชจ๋ ์ ๊ทผ ๊ฐ๋ฅํ ํ์ ํ์ด์ง๋ฅผ ์ฌ์ธต์ ์ผ๋ก ํฌ๋กค๋งํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
url(๋ฌธ์์ด | ๋ฌธ์์ด[], ํ์): ํฌ๋กค๋ง์ ์ํ ์์ URLextract_depth(๋ฌธ์์ด, ์ ํ ์ฌํญ): ์ถ์ถ ๊น์ด - '๊ธฐ๋ณธ'(๊ธฐ๋ณธ๊ฐ) ๋๋ '๊ณ ๊ธ'(ํฌ๋กค๋ง ๊น์ด ๋ฐ ์ ํ ์ ์ด)
์:
{
"url": "https://example.com",
"extract_depth": "advanced"
}์๋ต์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
ํฌ๋กค๋ง๋ ๋ชจ๋ ํ์ด์ง์ ๊ฒฐํฉ๋ ์ฝํ ์ธ
๊ฐ ํ์ด์ง์ ๊ฐ๋ณ ์ฝํ ์ธ
์ ๋ชฉ, ๋จ์ด ์, ํฌ๋กค๋ง ํต๊ณ๋ฅผ ํฌํจํ ๋ฉํ๋ฐ์ดํฐ
ํ์ด์ดํฌ๋กค_๋งต_ํ๋ก์ธ์ค
ํฌ๊ด์ ์ธ ์ฌ์ดํธ ๋งคํ์ ์ํด ์น์ฌ์ดํธ์์ ๋น ๋ฅด๊ฒ URL์ ์์งํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
url(๋ฌธ์์ด | ๋ฌธ์์ด[], ํ์): ๋งคํํ URLextract_depth(๋ฌธ์์ด, ์ ํ ์ฌํญ): ์ถ์ถ ๊น์ด - '๊ธฐ๋ณธ'(๊ธฐ๋ณธ๊ฐ) ๋๋ '๊ณ ๊ธ'(๋งต ๊น์ด ์ ์ด)
์:
{
"url": "https://example.com",
"extract_depth": "basic"
}์๋ต์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
๋ฐ๊ฒฌ๋ ๋ชจ๋ URL ๋ชฉ๋ก
์ฌ์ดํธ ์ ๋ชฉ ๋ฐ URL ์๋ฅผ ํฌํจํ ๋ฉํ๋ฐ์ดํฐ
ํ์ด์ดํฌ๋กค_์ถ์ถ_ํ๋ก์ธ์ค
์์ฐ์ด ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ AI๋ก ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
url(๋ฌธ์์ด | ๋ฌธ์์ด[], ํ์): ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ URLextract_depth(๋ฌธ์์ด, ์ ํ ์ฌํญ): ์ถ์ถ ๊น์ด - '๊ธฐ๋ณธ'(๊ธฐ๋ณธ๊ฐ) ๋๋ '๊ณ ๊ธ'
์:
{
"url": "https://example.com",
"extract_depth": "basic"
}์๋ต์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
ํ์ด์ง์์ ์ถ์ถ๋ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ
์ ๋ชฉ, ์ถ์ถ ํต๊ณ๋ฅผ ํฌํจํ ๋ฉํ๋ฐ์ดํฐ
ํ์ด์ดํฌ๋กค_์ก์ _ํ๋ก์ธ์ค
๋์ ์ฝํ ์ธ ๋ฅผ ์ถ์ถํ๊ธฐ ์ ์ ํ์ด์ง ์ํธ์์ฉ(ํด๋ฆญ, ์คํฌ๋กค ๋ฑ)์ ์ง์ํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
url(๋ฌธ์์ด | ๋ฌธ์์ด[], ํ์): ์ํธ ์์ฉํ๊ณ ์ฝํ ์ธ ๋ฅผ ์ถ์ถํ URLextract_depth(๋ฌธ์์ด, ์ ํ ์ฌํญ): ์ถ์ถ ๊น์ด - '๊ธฐ๋ณธ'(๊ธฐ๋ณธ๊ฐ) ๋๋ '๊ณ ๊ธ'(์ํธ ์์ฉ์ ๋ณต์ก์ฑ ์ ์ด)
์:
{
"url": "https://news.ycombinator.com",
"extract_depth": "basic"
}์๋ต์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
์ํธ์์ฉ ์ํ ํ ์ถ์ถ๋ ์ฝํ ์ธ
์ํ๋ ์์ ์ ๋ํ ์ค๋ช
ํ์ด์ง ์คํฌ๋ฆฐ์ท(๊ฐ๋ฅํ ๊ฒฝ์ฐ)
์ ๋ชฉ ๋ฐ ์ถ์ถ ํต๊ณ๋ฅผ ํฌํจํ ๋ฉํ๋ฐ์ดํฐ
ํฅ์ ๋๊ตฌ
๊ฐํ_์นด๊ธฐ_ํ๋ถํ
์ ๋ฌธ ์์ธ์์ ๋ณด์ถฉ ๋ด์ฉ์ ์ป์ผ์ธ์.
๋งค๊ฐ๋ณ์:
query(๋ฌธ์์ด, ํ์): ๊ฐํ๋ฅผ ์ํ ์ฟผ๋ฆฌ
์:
{
"query": "emerging web technologies"
}๊ฐํ_์ง๋_๊ทธ๋ผ์ด๋ฉ
์น ์ง์์ ๋ํ ์ง์ ์ ๊ฒ์ฆํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
statement(๋ฌธ์์ด, ํ์): ๊ฒ์ฆํ ๋ฌธ์ฅ
์:
{
"statement": "TypeScript adds static typing to JavaScript"
}๊ฐ๋ฐ
์ค์
์ ์ฅ์๋ฅผ ๋ณต์ ํฉ๋๋ค
์ข ์์ฑ ์ค์น:
pnpm installํ๋ก์ ํธ๋ฅผ ๋น๋ํ์ธ์:
pnpm run build๊ฐ๋ฐ ๋ชจ๋์์ ์คํ:
pnpm run dev์ถํ
package.json์ ๋ฒ์ ์ ๋ฐ์ดํธ
ํ๋ก์ ํธ๋ฅผ ๋น๋ํ์ธ์:
pnpm run buildnpm์ ๊ฒ์:
pnpm publish๋ฌธ์ ํด๊ฒฐ
API ํค ๋ฐ ์ก์ธ์ค
๊ฐ ๊ณต๊ธ์๋ ์์ฒด API ํค๊ฐ ํ์ํ๋ฉฐ ์ก์ธ์ค ์๊ตฌ ์ฌํญ์ด ๋ค๋ฅผ ์ ์์ต๋๋ค.
Tavily : ๊ฐ๋ฐ์ ํฌํธ์ API ํค๊ฐ ํ์ํฉ๋๋ค.
Perplexity : ๊ฐ๋ฐ์ ํ๋ก๊ทธ๋จ์ ํตํ API ์ ๊ทผ
์นด๊ธฐ : ์ผ๋ถ ๊ธฐ๋ฅ์ ๋น์ฆ๋์ค(ํ) ํ๋ ์ฌ์ฉ์์๊ฒ๋ง ์ ๊ณต๋ฉ๋๋ค.
Jina AI : ๋ชจ๋ ์๋น์ค์ API ํค๊ฐ ํ์ํฉ๋๋ค.
Brave : ๊ฐ๋ฐ์ ํฌํธ์ API ํค
Firecrawl : ๊ฐ๋ฐ์ ํฌํธ์ API ํค๊ฐ ํ์ํฉ๋๋ค.
์๊ธ ์ ํ
๊ฐ ์ ๊ณต์๋ ์์ฒด์ ์ธ ์๋ ์ ํ์ ๊ฐ์ต๋๋ค. ์๋ฒ๋ ์๋ ์ ํ ์ค๋ฅ๋ฅผ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ์ ์ ํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋ฐํํฉ๋๋ค.
๊ธฐ์ฌํ๋ค
๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค! ํ ๋ฆฌํ์คํธ๋ฅผ ์ ์ถํด ์ฃผ์ธ์.
ํนํ
MIT ๋ผ์ด์ผ์ค - ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.
๊ฐ์ฌ์ ๋ง
๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋จ: