curl mcp

by janwilmake
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides a proxy for making HTTP requests to any URL, mimicking the behavior of the curl command-line tool with support for various HTTP methods, headers, and authentication options

  • Supports GitHub OAuth authentication and provides a markdown transformation proxy for GitHub content, optimizing GitHub's interface for AI interaction

  • Transforms responses into markdown format to ensure they contain few tokens and are optimized for AI consumption

curl mcp - 必要な最後のMCP

[!重要] 作業中

要件:

  • シンプルなREST API(OpenAPIを使用)とリモートMCPを公開
  • あらゆる MCP クライアント、API、ブラウザを通じて簡単に使用できます。
  • X と GitHub OAuth
  • ストライプクレジットデポジット
  • コンテキスト指示
  • XやGitHubなどの人気ウェブサイト向けのMarkdown変換プロキシ
  • 無料使用には上限があり(1 時間あたりの料金制限)、上限に達した後は従量課金となります。
  • 共有可能な指示テンプレート

LLM を実際に多数のツールでうまく機能させるための私の原則は次のとおりです。

  1. LLM は人気のある Web サイトを認識しているので、通常どおり Web を使用するように指示します。
  2. 水中では、すべての入力が何らかの方法で適切な代替 Web サイトにルーティングされることを確認します。
  3. すべてのレスポンスがマークダウン形式であり、トークンが非常に少ない(理想的には 1000 未満)ことを確認してください。これにより、多くのステップを実行できるようになります。
  4. 行き止まりが LLM を正しい軌道に戻すことを確認します。
  5. 複数のステップから成るプロセスの各ステップに、次に実行する操作についての指示が含まれていることを確認します。
  6. LLMがアクセスするパスが、ユーザーまたはクローラーがアクセスするパスと一致していることを確認してください。Acceptヘッダーやその他の情報を適切に処理して、ユーザーまたはクローラーがアクセスするパスと区別してください。

今日の製品開発者は、これに対応するためにどのような準備をすべきでしょうか?

  1. ほとんどのAPIはPOSTを使用しますが、GETはMarkdownで記述できるため、より分かりやすい記述方法となっています。APIをGET化し、最小限のトークン長で非常に分かりやすいURL構造を推進しましょう。
  2. 利用可能なエンドポイントとルーティングを表示するには、OpenAPI を使用してください。API はウェブサイトではなく、第一級オブジェクトであるべきです。
  3. /openapi.jsonのルート上に直接配置するか、それが不可能な場合は/.well-known/openapiからリダイレクトするように設定して、openapi を探索可能にしてください。
  4. text/html として公開されているすべてのページで、同じ/類似の機能を持つ 1,000 トークン未満の非 HTML バリアント (構造化データも役立つ場合は markdown または yaml が望ましい) も公開されていることを確認します。
  5. APIでエラーが発生した場合、人間と同じように、エージェントが常に正しい軌道に戻るように誘導する必要があります。APIレベルでこれらのUXパスウェイを構築してみてください。

これをAPIのミドルウェアとして提供することは可能でしょうか?もちろんです!それらすべてを支配する唯一のツールはcurl(またはfetch)であり、次の方法で安全にすることができます。

  • 人間中心の Web サイトから AI に最適化された Web サイトにルーティングするようにしてください。
  • 応答が特定の制限を超えないように切り捨てるようにしてください
  • マークダウンを受け入れることを優先する

使用法

MCP の使用法:

次の内容を構成に追加して、MCP クライアントにインストールします。

{ "mcpServers": { "curlmcp": { "command": "npx", "args": ["mcp-remote", "https://curlmcp.com/sse"] } } }

ブラウザの使用状況

curlmcp APIはブラウザからも簡単に使用できます。認証は自動的に処理されます。

CLI の使用法

自分で curl を使用するか、curl mcp プロキシを使用することもできます。

  • curl -c cookies.txt https://curlmcp.com/loginを使用してログインし、Cookieを保存します。
  • curl -b cookies.txt https://curlmcp.com/curl/{your-request}

API の使用法: /curl/{url}エンドポイント

/curl/{url}エンドポイントを使用すると、 curlコマンドラインツールの動作を模倣して、任意の URL に HTTP リクエストを送信できます。HTTP メソッド、ヘッダー、データなどのリクエストの詳細を指定するための長い形式のクエリパラメータをサポートしています。

特定の URL は、構成されたテンプレートに基づいてプロキシされるように構成されます (デフォルトはdefault-proxy.yaml )

API仕様

GET /curl/{url}?request={method}&header={header}&data={data}&...

注意: {url} はデフォルトでhttpsプロトコルを使用します。

サポートされているクエリパラメータ

パラメータタイプ説明
requestHTTP メソッドを指定します。有効な値: GETPOSTPUTDELETEPATCHHEADOPTIONSrequest=POST
header文字列の配列カスタム HTTP ヘッダーを追加します。複数のヘッダーを追加する場合は繰り返します。header=Content-Type:application/json
data文字列の配列リクエストボディ(POST)またはクエリ文字列( get=true )でデータを送信します。複数のデータペアに対して繰り返します。data=key=value
data-urlencode文字列の配列リクエスト内の URL エンコードされたデータを送信します。data-urlencode=comment=this is awesome
getブール値データを GET リクエストのクエリ文字列として送信するように強制します。get=true
includeブール値出力に応答ヘッダーを含めます。include=true
headブール値HEAD リクエストを送信します。head=true
user認証の資格情報を指定します (形式: username:password )。user=user:pass
locationブール値HTTP リダイレクトに従います。location=true
verboseブール値デバッグのための詳細な出力を有効にします。verbose=true
access_tokenX または GitHub 認証用の OAuth トークンを挿入します。access_token=xyz
instructionsリクエストのコンテキスト指示を指定します。instructions=transform_response_to_markdown

リンク

-
security - not tested
F
license - not found
-
quality - not tested

curl のようなインターフェースを介して Web API と対話できるようにし、ユーザー認証と応答変換を使用してさまざまな Web サイトや API へのアクセスを提供するマルチモーダル会話プロトコル (MCP) サーバー。

  1. My principles for making the LLM actually work well with tons of tools:
    1. Usage
      1. MCP Usage:
      2. Browser Usage
      3. CLI Usage
      4. API Usage: /curl/{url} Endpoint
    2. Links
      ID: 5wdwesywy1