Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Yelp business search, place details and the full review feed, as structured JSON.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
HASDATA_API_KEY, x-api-keyค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"yelp": {
"command": "npx",
"args": [
"-y",
"@hasdata/yelp-mcp"
],
"env": {
"HASDATA_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http yelp 'https://mcp.hasdata.com/mcp?apis=yelp' --header 'x-api-key: ใส่ค่าของคุณ'claude mcp add yelp --env HASDATA_API_KEY='ใส่ค่าของคุณ' -- npx -y @hasdata/yelp-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"yelp": {
"url": "https://mcp.hasdata.com/mcp?apis=yelp",
"headers": {
"x-api-key": "ใส่ค่าของคุณ"
}
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"yelp": {
"command": "npx",
"args": [
"-y",
"@hasdata/yelp-mcp"
],
"env": {
"HASDATA_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"yelp": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=yelp",
"headers": {
"x-api-key": "ใส่ค่าของคุณ"
}
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"yelp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hasdata/yelp-mcp"
],
"env": {
"HASDATA_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
x-api-key ความลับ จำเป็น HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน hasdata.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: HASDATA_API_KEY, x-api-key
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.2) เข้า registry 43 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A hosted Yelp MCP server that gives Claude, Cursor, Windsurf and any other MCP client three read-only Yelp tools. Search businesses by keyword and location, read one business in full, and page through its complete review feed, all as structured JSON, with no Yelp Fusion key and nothing to host.
It reads public Yelp pages that a signed-out visitor can see, on any of the 41 regional domains.
1,000 free credits every month, no card required, which is 100 Yelp calls at the 10-credit rate.
https://mcp.hasdata.com/mcp?apis=yelp
An MCP client and a HasData API key from the dashboard, free to create with no card, and the free tier covers about 100 calls a month at the 10-credit rate. This is a remote server, so the simplest path is a URL and an x-api-key header, with no container to run. A client that only speaks stdio reaches it through a thin launcher, published as @hasdata/yelp-mcp on npm and hasdata-yelp-mcp on PyPI, shown below.
The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.
| Field | Value |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=yelp |
| Transport | HTTP, streamable |
| Auth header | x-api-key: HASDATA_API_KEY |
Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.
Claude Code
claude mcp add --transport http yelp "https://mcp.hasdata.com/mcp?apis=yelp" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
Settings, then Connectors, then Add custom connector, then paste https://mcp.hasdata.com/mcp?apis=yelp and sign in.
For the config-file route, Claude Desktop loads only local (stdio) servers, so it reaches a remote server through a stdio launcher. The @hasdata/yelp-mcp package is that launcher, and it reads the key from the environment. Add this to claude_desktop_config.json:
{
"mcpServers": { "yelp": { "command": "npx", "args": ["-y", "@hasdata/yelp-mcp"], "env": { "HASDATA_API_KEY": "YOUR_KEY" } } } }
For Python instead of Node, swap the launcher for the PyPI package, which uvx runs without a manual install:
{
"mcpServers": { "yelp": { "command": "uvx", "args": ["hasdata-yelp-mcp"], "env": { "HASDATA_API_KEY": "YOUR_KEY" } } } }
Cursor
~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:
{
"mcpServers": { "yelp": { "url": "https://mcp.hasdata.com/mcp?apis=yelp", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Windsurf
~/.codeium/windsurf/mcp_config.json. Windsurf calls the field serverUrl, not url:
{
"mcpServers": { "yelp": { "serverUrl": "https://mcp.hasdata.com/mcp?apis=yelp", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
VS Code
.vscode/mcp.json in the workspace:
{
"servers": { "yelp": { "type": "http", "url": "https://mcp.hasdata.com/mcp?apis=yelp", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Each of these lands on one tool, or on two in sequence when the second needs an identifier the first returns.
desnudo-coffee-austin.A prompt that names a business rather than a Yelp ID takes two calls, one search to resolve the ID and one place or reviews lookup to read it. The search tool returns both placeId and placeAlias, and either one works as the placeId argument to the place tool.
| Tool | What it returns |
|---|---|
hasdata_yelp_place_getPlaceDetails | Name, address, phone, website, price range, categories, overall rating, review count, hours, amenities, photos, and highlighted reviews. 10 credits a call |
hasdata_yelp_reviews_getPlaceReviews | Fetches the review feed of a single Yelp business by Yelp ID, with sorting (relevance, date, rating, elites), filtering by star rating, language and free-text query, and…. 10 credits a call |
hasdata_yelp_search_getSearchResults | A ranked list of businesses with Yelp alias/ID, name, categories, rating, review count, price tier, neighborhood, and thumbnail. 10 credits a call |
Three tools, 10 credits per successful call. Every tool accepts domain to switch country, one of 41 values, from www.yelp.com through the European, Asian and Latin American sites, including the language-specific variants such as fr.yelp.ca and zh.yelp.com.hk.
hasdata_yelp_search_getSearchResults
A page of businesses for a keyword in a place.
| Parameter | Type | Required | Notes |
|---|---|---|---|
keyword | string | yes | What to search for, such as coffee |
location | string | yes | Where to search, such as Austin, TX |
l | string | Map bounding box instead of a radius, as g:lon1,lat1,lon2,lat2 | |
domain | string | Yelp site, defaults to www.yelp.com | |
start | number | Result offset, stepping by 10 |
Returns searchInformation with the echoed keyword, location and totalResults, an ads array of paid placements, an organicResults array, and pagination with currentPage, perPage, totalPages, nextPageUrl and otherPagesUrls.
The two result arrays are not the same shape. An organic result carries position and streetAddress, while an ad carries neither and adds phone and a highlights array of the badges Yelp shows advertisers. Merging the arrays without checking which one a business came from turns paid placement into rank.
{
"position": 2, "placeId": "oiJ7QuhhpsEpe9zFTZF0bA", "placeAlias": "desnudo-coffee-austin", "url": "https://www.yelp.com/biz/desnudo-coffee-austin", "title": "Desnudo Coffee", "streetAddress": "2505 Webberville Rd, Austin", "price": "$$", "categories": [{ "title": "Coffee Roasteries", "url": "https://www.yelp.com/search?find_desc=Coffee+Roasteries&find_loc=Austin%2C+TX" }], "snippet": "My favorite coffee shop to go to ever! Everyone must go. [[HIGHLIGHT]]Great coffee[[ENDHIGHLIGHT]], great vibes,great customer...", "rating": 4.7, "reviews": 347, "thumbnail": "https://s3-media0.fl.yelpcdn.com/bphoto/0nE_IcbRiyxrw3kk2z6owg/ls.jpg", "allImagesUrl": "https://www.yelp.com/biz_photos/oiJ7QuhhpsEpe9zFTZF0bA" }
hasdata_yelp_place_getPlaceDetails
One business in full.
| Parameter | Type | Required | Notes |
|---|---|---|---|
placeId | string | yes | A Yelp ID such as oiJ7QuhhpsEpe9zFTZF0bA, or an alias such as desnudo-coffee-austin |
domain | string | Yelp site, defaults to www.yelp.com |
Returns a placeResult object with name, url, address, neighborhoods, country, phone, website, price, categories, rating, reviews, isClaimed and isClaimable, an operationHours object holding a week of hours plus today, a features array, a menu object with popularDishes, a faqs array of questions Yelp readers asked and answered, a reviewHighlights array of the phrases Yelp pins to the top of the page, an images array, and businessMap, a static map image URL.
features is the amenities block, and each entry carries a title and an isActive flag, so a false entry is Yelp stating the amenity is absent rather than unknown. That difference matters when you filter, because dropping the false entries and dropping the missing ones are not the same query.
{
"name": "Desnudo Coffee", "url": "https://www.yelp.com/biz/desnudo-coffee-austin", "address": "2505 Webberville Rd Austin, TX 78702", "neighborhoods": "East Austin", "country": "US", "phone": "(424) 400-1857", "website": "http://www.desnudocoffee.com", "price": "$$", "categories": ["Coffee Roasteries"], "rating": 4.7, "reviews": 347, "isClaimed": true, "isClaimable": false, "operationHours": { "hours": [{ "day": "Mon", "hours": ["7:00 AM - 2:00 PM"] }] }, "features": [ { "title": "Offers delivery", "isActive": true }, { "title": "ADA-compliant restroom", "isActive": false } ], "menu": { "section": "Popular Drinks", "popularDishes": [{ "name": "Brown Sugar Miso Latte", "rating": 4.7, "reviews": 113, "photos": 71 }] } }
hasdata_yelp_reviews_getPlaceReviews
The review feed of one business, in full text, with sorting, filtering and pagination.
| Parameter | Type | Required | Notes |
|---|---|---|---|
placeId | string | yes | The Yelp ID of the business |
domain | string | Yelp site, defaults to www.yelp.com | |
sortBy | string | relevanceDesc (default), dateDesc, dateAsc, ratingDesc, ratingAsc or elitesDesc | |
rating | string | Keep only these star ratings, such as 5 or 1,2 | |
query | string | Free-text search inside the reviews | |
languageCode | string | Two-letter language of the reviews, defaults to en | |
notRecommended | boolean | Return the feed Yelp filters out instead of the recommended one |
| start | number | | Offset, step
ตัดมาแค่ช่วงต้น อ่านต่อใน repo