Bob Research Tools

Paid web research, news, prediction-market evidence, company briefs and fact-checks (x402 USDC)

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
99%
이름 품질
50%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (8)

  • LOWTool 'research.answer' doesn't follow camelCase/snake_caseresearch.answer에서
  • LOWTool 'research.factcheck' doesn't follow camelCase/snake_caseresearch.factcheck에서
  • LOWTool 'page.summarize' doesn't follow camelCase/snake_casepage.summarize에서
  • LOWTool 'web.search' doesn't follow camelCase/snake_caseweb.search에서
  • LOWTool 'page.extract' doesn't follow camelCase/snake_casepage.extract에서
  • LOWTool 'web.news' doesn't follow camelCase/snake_caseweb.news에서
  • LOWTool 'research.market' doesn't follow camelCase/snake_caseresearch.market에서
  • LOWTool 'research.company' doesn't follow camelCase/snake_caseresearch.company에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,757토큰 (도구 정의)
~2.3 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.15%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "research-tools": {
      "url": "https://bob.assimilatethis.com/mcp"
    }
  }
}

원격 엔드포인트

https://bob.assimilatethis.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (8)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢research.answer(q)

Answers one open research question from the live web in at most 80 words with up to 3 source URLs, returned as {answer, sources}, usually in 4 to 9 seconds. Use it for a synthesized answer; use web.search for raw links or research.factcheck to verify a claim. Name the people, places and dates the question depends on, and ask one question per call: several in one call get one blended answer. Read-only. Paid per call with x402, up to 60 calls a minute per client; a call that fails, times out or hits capacity is not charged. For several questions, make one call per question: calls are independent and can run in parallel.

입력 스키마

{
  "type": "object",
  "properties": {
    "q": {
      "description": "The research question to answer, 1 to 500 characters.",
      "title": "Q",
      "type": "string"
    }
  },
  "required": [
    "q"
  ],
  "title": "bob_researchArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "answer": {
      "type": "string",
      "description": "Short answer synthesized from the live web."
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Source URLs the answer rests on."
    }
  },
  "required": [
    "answer"
  ],
  "additionalProperties": true
}
🟢research.factcheck(claim)

Checks one factual claim against the live web and returns {verdict, explanation, sources}, where verdict is supported, contradicted or unclear, usually in 4 to 9 seconds. Write the claim as a plain statement such as 'The Eiffel Tower is in Berlin' and split a compound claim into separate calls. Use research.answer for open questions. For several claims, call once per claim. Read-only. Paid per call with x402; a failed call is not charged.

입력 스키마

{
  "type": "object",
  "properties": {
    "claim": {
      "description": "The factual claim to check, 1 to 500 characters, written as a statement.",
      "title": "Claim",
      "type": "string"
    }
  },
  "required": [
    "claim"
  ],
  "title": "bob_factcheckArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "verdict": {
      "type": "string",
      "enum": [
        "supported",
        "contradicted",
        "unclear"
      ],
      "description": "How the live web treats the claim."
    },
    "explanation": {
      "type": "string",
      "description": "One or two sentences on why."
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Source URLs behind the verdict."
    }
  },
  "required": [
    "verdict"
  ],
  "additionalProperties": true
}
🟢page.summarize(url)

Condenses one public web page into an 80-word summary with up to 4 key points, returned as {url, summary, key_points}, usually in 3 to 6 seconds. The page is fetched live, so the summary reflects it now; pages behind a login or paywall may return little. Pass the address of the specific page, not a site's home page. Use page.extract for the page's own text. Read-only. Paid per call with x402; if the page cannot be read in time the call fails and is not charged.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Public http or https address of the page to summarize; private or local addresses are refused.",
      "title": "Url",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "title": "bob_summarizeArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The page that was summarized."
    },
    "summary": {
      "type": "string",
      "description": "About 80 words."
    },
    "key_points": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Key points from the page."
    }
  },
  "required": [
    "url",
    "summary"
  ],
  "additionalProperties": true
}
🟢web.search(q, n, since, until)

Runs a web search and returns ranked results as {query, results: [{title, url, snippet}]}. Use it for raw links to read yourself; use research.answer for a written answer. Plain phrases work as well as keywords; since and until (YYYY-MM-DD) limit results to a publish-date range, which suits recent news. Needs an x402 payment per call; if the search fails or finds nothing, you are not charged.

입력 스키마

{
  "type": "object",
  "properties": {
    "q": {
      "description": "The web search query, 1 to 500 characters.",
      "title": "Q",
      "type": "string"
    },
    "n": {
      "default": 5,
      "description": "How many results to return, 1 to 10. Default 5.",
      "maximum": 10,
      "minimum": 1,
      "title": "N",
      "type": "integer"
    },
    "since": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional. Only results published on or after this date, written YYYY-MM-DD, e.g. 2026-09-01.",
      "title": "Since"
    },
    "until": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional. Only results published on or before this date, written YYYY-MM-DD.",
      "title": "Until"
    }
  },
  "required": [
    "q"
  ],
  "title": "bob_searchArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The query that was searched."
    },
    "results": {
      "type": "array",
      "description": "Ranked results.",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "snippet": {
            "type": "string",
            "description": "Short passage from the page."
          }
        }
      }
    },
    "published_between": {
      "type": "array",
      "description": "The since/until dates applied, if any.",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    }
  },
  "required": [
    "query",
    "results"
  ],
  "additionalProperties": true
}
🟢page.extract(url)

Returns the main text of one public web page as clean markdown, unchanged and not summarized, up to 8,000 characters, as {url, markdown, truncated}, usually in 2 to 5 seconds. Pass the address of the specific page, not a site's home page; pages that need a login cannot be read, and longer pages are cut and flagged truncated. Use page.summarize for a short version. To read several pages, or to crawl a topic, get the addresses from web.search and call this once per address. Read-only. Paid per call with x402, up to 60 calls a minute per client; a failed call is not charged.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Public http or https address of the page to extract; private or local addresses are refused.",
      "title": "Url",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "title": "bob_extractArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The page that was read."
    },
    "markdown": {
      "type": "string",
      "description": "Main content of the page as markdown, up to 8,000 characters."
    },
    "truncated": {
      "type": "boolean",
      "description": "True if the page was longer than the cap."
    }
  },
  "required": [
    "url",
    "markdown"
  ],
  "additionalProperties": true
}
🟢web.news(q, days)

Returns recent news on one topic, person, company or event as {query, window_days, summary, developments: [{headline, date, source}]}: a summary of about 50 words and up to 4 dated developments, newest first, usually in 3 to 7 seconds. A short topic or name works better than a full question; days sets the look-back from today (1 to 30, default 7), so a quiet topic needs a larger value. Use web.search for raw links. Read-only; only what the dated results support is returned. Paid per call with x402; if nothing recent is found the call fails and is not charged.

입력 스키마

{
  "type": "object",
  "properties": {
    "q": {
      "description": "The topic, person, company or event to get recent news on, 1 to 500 characters.",
      "title": "Q",
      "type": "string"
    },
    "days": {
      "default": 7,
      "description": "How many days back to look, 1 to 30. Default 7.",
      "maximum": 30,
      "minimum": 1,
      "title": "Days",
      "type": "integer"
    }
  },
  "required": [
    "q"
  ],
  "title": "bob_newsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The topic that was searched."
    },
    "window_days": {
      "type": "integer",
      "description": "How many days back were searched."
    },
    "summary": {
      "type": "string",
      "description": "About 50 words on what happened."
    },
    "developments": {
      "type": "array",
      "description": "Up to 5 dated developments, newest first.",
      "items": {
        "type": "object",
        "properties": {
          "headline": {
            "type": "string"
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "description": "YYYY-MM-DD from the source, or null."
          },
          "source": {
            "type": "string"
          }
        }
      }
    }
  },
  "required": [
    "query",
    "summary",
    "developments"
  ],
  "additionalProperties": true
}
🟢research.market(question)

Builds an evidence brief for a prediction-market question (Kalshi, Polymarket or similar) from the live web: {question, as_of, summary, evidence_for, evidence_against, key_dates, resolution_notes, sources}, usually in 5 to 8 seconds. Pass the question as the market words it, including its date or threshold (for example 'by Dec 31, 2026' or 'above 4.5%'). It reports evidence and what decides resolution; it gives no probability, forecast or trading advice. Use research.answer for general questions. Read-only. Paid per call with x402; if it cannot answer in time the call fails and is not charged.

입력 스키마

{
  "type": "object",
  "properties": {
    "question": {
      "description": "The prediction-market question to research, 1 to 500 characters, worded as the market words it.",
      "title": "Question",
      "type": "string"
    }
  },
  "required": [
    "question"
  ],
  "title": "bob_market_researchArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string"
    },
    "as_of": {
      "type": "string",
      "description": "The date the brief was written, YYYY-MM-DD."
    },
    "summary": {
      "type": "string",
      "description": "About 50 words of evidence, not a forecast."
    },
    "evidence_for": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Up to 3 facts that support Yes."
    },
    "evidence_against": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Up to 3 facts that support No."
    },
    "key_dates": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Known or upcoming dates, each 'YYYY-MM-DD: what happens'."
    },
    "resolution_notes": {
      "type": "string",
      "description": "What usually decides resolution and what is ambiguous."
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Source URLs."
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "question",
    "summary"
  ],
  "additionalProperties": true
}
🟢research.company(company)

Returns a short sourced brief on one company as {company, summary, what_it_does, facts, recent, sources}, usually in 5 to 8 seconds. Pass a website address such as stripe.com to avoid name clashes; a bare name resolves to the best-known company with that name and the summary says when the name is ambiguous. Facts such as founding year, location, size, funding or leadership appear only when the sources state them, and conflicting figures are reported as the most recent one with its date. Read-only. Paid per call with x402; if the company cannot be described in time the call fails and is not charged.

입력 스키마

{
  "type": "object",
  "properties": {
    "company": {
      "description": "A company name or website, 1 to 500 characters, e.g. Stripe or stripe.com.",
      "title": "Company",
      "type": "string"
    }
  },
  "required": [
    "company"
  ],
  "title": "bob_company_briefArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "company": {
      "type": "string"
    },
    "summary": {
      "type": "string",
      "description": "About 60 words."
    },
    "what_it_does": {
      "type": "string",
      "description": "One sentence on the business."
    },
    "facts": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Up to 5 short facts, only if the sources state them."
    },
    "recent": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Up to 3 recent developments."
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Source URLs."
    }
  },
  "required": [
    "company",
    "summary"
  ],
  "additionalProperties": true
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 8개